Posted at

【JavaScript】if ( value == false ) と if ( value != true ) の違いを答えよ


テスト用コード

検証モードに以下のコードを貼り付けて、テスト。

function test( value ) {

if ( value == false ) {
console.log('value == false です');
}
if ( value != true ) {
console.log('value != true です');
}
}

test(true) など値をいろいろ入れて見る。


答え

JavaScriptは変数宣言がないため、valueにくる値がboolean型とは限らない。つまり

if ( value == false ) は「valueがfalseのとき」

if ( value != true ) は「valueがtrue以外の値のとき(false以外の値でも)」


例えば

test('a')

→ value != true です

test([])

→ value == false です

value != true です

test(['a'])

→ value != true です

test(undefined)

→ value != true です


まとめ

if文を書くときは注意。

変数宣言だけして値をいれてない変数がある場合は値が undefined となるため、上記のif文の使い分けをして扱うことができる。