Самый простой способ проверить, существует ли ключ в объекте, используя 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)

(игнорировать унаследованные свойства)