CoffeeScriptでは、オブジェクトにキーが存在するかどうかを確認する最も簡単な方法は何ですか?
key of obj
これは、JavaScriptのkey in obj
。 (CoffeeScriptはキーを参照するときにof
を使用し、配列値を参照するときにin
を使用します:val in arr
は、val
がarr
にあるかどうかをテストします。
オブジェクトのプロトタイプを無視したい場合、thejhの答えは正しいです。 null
またはundefined
の値を持つキーを無視する場合、ジミーの答えは正しいです。
「?」オペレータは存在をチェックします:
if obj?
# object is not undefined or null
if obj.key?
# obj.key is not undefined or null
# call function if it exists
obj.funcKey?()
# chain existence checks, returns undefined if failure at any level
grandChildVal = obj.key?.childKey?.grandChildKey
# chain existence checks with function, returns undefined if failure at any level
grandChildVal = obj.key?.childKey?().grandChildKey
obj.hasOwnProperty(name)
(継承されたプロパティを無視するため)