2012-05-11 2 views
1

は私がJavaScriptで未定義のブール値を結合するにはどうすればよいですか?たとえば、

console.log((myVar != undefined) && true); 

を行う場合、期待どおりそれはfalseを返します

var myVar; 

があるとします。

console.log(myVar && true); 

これははるかにあまり冗長ではありません。上記の返り値は未定義ですが、私はfalseを希望します。

+0

を使用することですあなたが '&& true'をを持っている理由はありますか? – peirix

答えて

4

私が正しくあなたを理解していた場合は、truefalsetrueundefinedfalseをオンにしたいです。もしそうなら、これは正常に動作する必要があります:

console.log(!!myVar); 

を各!はブールに値を変換し、反対を返します。反対の反対側は元のものと同じですが、「ブール値に変換する」部分を除いて、あなたが望むのと全く同じです。

詳細については、this questionを参照してください。 「truthy」または「falsy」値のうち、ブール値をドラッグする

2

一つの方法は、!!

console.log(!!myVar); 
関連する問題