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
なのが意外でした。
気をつけて使っていきたいと思います。
コメント