Javascriptではどの変数論理演算結果がfalseであり、空の配列、空のオブジェクト、および属性が存在するかどうかを判断します.


false
論理判定では、下記の値はfalseと判断されます.
  • false
  • (ゼロ値)
  • "(空の文字列)
  • null
  • undefined
  • NaN
  • true
    上記の6つの値を除いて、他のすべての値はtrueとして決定されます.
  • 「0」
  • 「false」
  • [](空配列)
  • {}(空のオブジェクト)
  • function(){}(空関数)
  • 空のオブジェクト、空の配列
    では、問題があります.空の配列、空のオブジェクトはどう判断しますか?次の方法で.
    空の配列arrではないと判断しました.
    typeof arr !== 'undefined' && arr.length > 0
    
    空のオブジェクトを判断するobj:
    Object.keys(obj).length === 0 && obj.constructor === Object
    
    属性が存在するかどうかを判断する
    ハスOwnPropertyを使用する():
    if(myObj.hasOwnProperty(myProp)){
        alert("yes, i have that property");
    }
    
    MDNが与えた例https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean葃Examples
    もう一つ詳しく討論します.