正しいことはどれですか。
if (myObj['key'] == undefined)
または
if (myObj['key'] == null)
または
if (myObj['key'])
JavaScript in operator を試してください。
if ('key' in myObj)
そしてその逆。
if (!('key' in myObj))
気をつけて! in
演算子は、オブジェクトのプロトタイプチェーンに含まれるものも含め、すべてのオブジェクトキーと一致します。
オブジェクト自身のキーをチェックするにはmyObj.hasOwnProperty('key')
を使用し、true
がkey
で直接利用可能な場合にのみmyObj
を返します。
myObj.hasOwnProperty('key')
in
演算子を使用する特別な理由がない限り、myObj.hasOwnProperty('key')
を使用すると、ほとんどのコードが探している結果が得られます。
hasOwnProperty
を使うべきです。例えば:
myObj.hasOwnProperty('myKey');