Simplest way to check if key exists in object using CoffeeScript
key of obj
This compiles to JavaScript's key in obj
. (CoffeeScript uses of
when referring to keys, and in
when referring to array values: val in arr
will test whether val
is in arr
.)
thejh's answer is correct if you want to ignore the object's prototype. Jimmy's answer is correct if you want to ignore keys with a null
or undefined
value.
The '?' operator checks for existence:
if obj? # object is not undefined or nullif obj.key? # obj.key is not undefined or null# call function if it existsobj.funcKey?()# chain existence checks, returns undefined if failure at any levelgrandChildVal = obj.key?.childKey?.grandChildKey# chain existence checks with function, returns undefined if failure at any levelgrandChildVal = obj.key?.childKey?().grandChildKey