Kohei Blog

夫・父親・医療系エンジニア

TypeScriptでundefined or nullを真偽値に変換する

やりたいこと

nullundefined の値をfalsyな真偽値として扱いたい

結論

Boolean() あるいは !!で二重否定を使う。

  const unData = undefined;
  const nullData = null;
  const strData = "";
  const arrData: string[] = [];
  const objData = {};

      // !! をつけることで、 nullの場合、undefinedの場合にfalseとなる

    // false
    console.log("unData", !!unData);

    // false
    console.log("nullData", !!nullData);

    // 空文字列もfalseになる
    console.log("strData", !!strData);

    // 空配列はtrueになる
    console.log("arrData", !!arrData);

    // オブジェクトはtrueになる
    console.log("objData", !!objData);

単純に nullの場合はnull!nullとした場合はnullの否定なのでtrue!!nullとした場合は二重否定となるのでfalseとなる。

undefined空文字列('') でも同じ挙動を確認できた。 空配列やオブジェクトに対しては使えない。