javascript 空の配列やオブジェクトは「true」として判定される

javascript 空の配列やオブジェクトは「true」として判定される

javascriptで、空の配列やオブジェクトは「true」として判定されることを確認するサンプルコードを記述してます。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 106.0.5249.103

空の配列やオブジェクトは「true」

以下のように、javascriptでは空の配列やオブジェクトは「true」として使用できます。

if ([]) {
  console.log('実行');
}

if ({}) {
  console.log('実行');
}

値がある場合も「true」扱いになります。

if ([1,2]) {
  console.log('実行');
}

if ({a:1}) {
  console.log('実行');
}

ちなみに文字列は、空文字は「false」扱いとなります。

if ('mebee') {
  console.log('実行');
}

if (!'') {
  console.log('実行');
}

数値も「0」以外は「true」扱いになります。

if (1) {
  console.log('実行');
}

if (1000) {
  console.log('実行');
}

if (-1000) {
  console.log('実行');
}

if (1.1) {
  console.log('実行');
}

if (!0) {
  console.log('実行');
}

if (!-0) {
  console.log('実行');
}

また「null」や「NaN」や「undefined」は「false」となります。

if (!null) {
  console.log('実行');
}

if (!undefined) {
  console.log('実行');
}

if (!NaN) {
  console.log('実行');
}