В CoffeeScript, какой самый простой способ проверить, существует ли ключ в объекте?
Самый простой способ проверить, существует ли ключ в объекте, используя CoffeeScript
Ответ 1
key of obj
Это скомпилируется в JavaScript key in obj
. (CoffeeScript использует of
при обращении к клавишам и in
при обращении к значениям массива: val in arr
проверяет, находится ли val
в arr
.)
thejh правильный, если вы хотите проигнорировать прототип объекта. Ответ Джимми правилен, если вы хотите игнорировать клавиши со значением null
или undefined
.
Ответ 2
"?" оператор проверяет наличие:
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
Ответ 3
obj.hasOwnProperty(name)
(игнорировать унаследованные свойства)