使用 CoffeeScript 检查对象中是否存在键的最简单方法

2022-08-30 05:41:48

在 CoffeeScript 中,检查对象中是否存在键的最简单方法是什么?


答案 1
key of obj

这编译为JavaScript的.(CoffeeScript 在引用键时以及引用数组值时使用:将测试是否在 .)key in objofinval in arrvalarr

thejh的答案是正确的,如果你想忽略对象的原型。Jimmy 的答案是正确的,如果你想忽略带有 or 值的键。nullundefined


答案 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