tutorial objects javascript coffeescript

javascript - objects - coffeescript vs typescript



Manera más simple de verificar si la clave existe en el objeto usando CoffeeScript (3)

Los ''?'' el operador comprueba la existencia:

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

En CoffeeScript, ¿cuál es la forma más sencilla de verificar si existe una clave en un objeto?


key of obj

Esto se compila con la key in obj de JavaScript key in obj . (CoffeeScript usa cuando se refiere a claves, y cuando se refiere a valores de matriz: val in arr comprobará si val está en arr .)

La respuesta de thejh es correcta si quieres ignorar el prototipo del objeto. La respuesta de Jimmy es correcta si quiere ignorar claves con un valor null o undefined .


obj.hasOwnProperty(name)

(para ignorar las propiedades heredadas)