タグ

ブックマーク / devlabo.blogspot.com (1)

  • [javascript]true or false

    // ① if (value) { // 処理 } // ② if (value == true) { // 処理 } ある日ふと、上記①②の結果が異なることに気づく。 勝手にキャストされるんでしょ?と横柄にも思っていたけれど、どうもそうではないらしい。 当たり前だけど、数値⇔文字が自由に行き来するからといって、全ての型がそういうわけでもないのです。 どういう挙動なのだろうと不信に思ってしまったので、いろんな型の判定について調べてみる。 対象とするのは、undefined、null、数値(1、123、0、NaN)、文字("abc"、"1"、"123"、"0"、"")、日付、論理値(true、false)、オブジェクト型、配列、関数です。 テスト結果。 まとめ 前述の通り、if(value)と(value==true)は結果が異なる。一致させるためには、Boolean(value)を使って明

    [javascript]true or false
  • 1