たとえば、私が持っているとしましょう
var myVar;
私が行った場合
console.log((myVar != undefined) && true);
期待どおりにfalseを返します。より近いことをすることは可能ですか?
console.log(myVar && true);
冗長性ははるかに低くなります。現時点では、上記は未定義を返します。falseを希望します。
たとえば、私が持っているとしましょう
var myVar;
私が行った場合
console.log((myVar != undefined) && true);
期待どおりにfalseを返します。より近いことをすることは可能ですか?
console.log(myVar && true);
冗長性ははるかに低くなります。現時点では、上記は未定義を返します。falseを希望します。
私があなたを正しく理解しているなら、あなたはになり、になりたいundefined
とfalse
思うfalse
でしょtrue
うtrue
。もしそうなら、これはうまくいくはずです:
console.log(!!myVar);
それぞれ!
が値をブール値に変換し、反対の値を返します。反対の反対は、「ブール値に変換する」部分を除いて、元の部分と同じです。これはまさにあなたが望むものです。
詳細については、この質問を参照してください。
「真実」または「偽」の値からブール値をドラッグする1つの方法は、次を使用することです。!!
console.log(!!myVar);