JavaScriptのif文で変数・値を判定した場合の挙動11個

JavaScript

JavaScriptのif文に変数や値を渡した時の判定がどうなるか、挙動を11個確認してみました。
空の配列やオブジェクト、undefinedなどを、if文に入れてみて判定がどうなるか試してみました。

最後に試した内容を表にまとめています。

nullを指定する

if文にnullを指定した場合です。

const value = null;
if (value) {
  console.log('trueです。');
} else {
  console.log('falseです。');
}

結果は「falseです。」が出力されます。

undefinedを指定する

if文にundefinedを指定した場合です。

const value = undefined;
if (value) {
  console.log('trueです。');
} else {
  console.log('falseです。');
}

結果は「falseです。」が出力されます。

空の文字列を指定する

if文に空文字列(”)を指定した場合です。

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

結果は「falseです。」が出力されます。

文字列の変数を指定する

if文に文字列を指定した場合です。

const value = 'テスト';
if (value) {
  console.log('trueです。');
} else {
  console.log('falseです。');
}

結果は「trueです。」が出力されます。

空の配列を指定する

if文に空配列を指定した場合です。

const value = [];
if (value) {
  console.log('trueです。');
} else {
  console.log('falseです。');
}

結果は「trueです。」が出力されます。

値が入っている配列を指定する

if文に配列を指定した場合です。

const value = ['apple', 'orange', 'grape'];
if (value) {
  console.log('trueです。');
} else {
  console.log('falseです。');
}

結果は「trueです。」が出力されます。

数値(正数)を指定する

if文に正数(99)を指定した場合です。

const value = 99;
if (99) {
  console.log('trueです。');
} else {
  console.log('falseです。');
}

結果は「trueです。」が出力されます。

0を指定する

if文に0を指定した場合です。

if (0) {
  console.log('trueです。');
} else {
  console.log('falseです。');
}

結果は「falseです。」が出力されます。

数値(負数)を指定する

if文に負数(-1)を指定した場合です。

if (-1) {
  console.log('trueです。');
} else {
  console.log('falseです。');
}

結果は「trueです。」が出力されます。

空のオブジェクトを指定する

if文に空オブジェクトを指定した場合です。

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

結果は「trueです。」が出力されます。

関数を指定する

if文に関数を指定した場合です。

const value = () => { return 'hoge' };
if (value) {
  console.log('trueです。');
} else {
  console.log('falseです。');
}

結果は「trueです。」が出力されます。

まとめ

JavaScriptで、if文にいろんな値を指定してみました。
結果として、下記のようになりました。

結果
null false
undefined false
false
‘テスト’ true
[] true
[‘apple’, ‘orange’, ‘grape’] true
99 true
0 false
-1 true
{} true
() => { return ‘hoge’ } true

空配列とマイナス値がtrueなのが意外でした。
気をつけて使っていきたいと思います。

コメント

タイトルとURLをコピーしました