109 votes

Moyen le plus simple de vérifier si une clé existe dans un objet à l'aide de CoffeeScript

Dans CoffeeScript, quel est le moyen le plus simple de vérifier si une clé existe dans un objet?

182voto

Trevor Burnham Points 43199
 key of obj
 

Cela compile en JavaScript key in obj . (CoffeeScript utilise of pour les clés, et in pour les valeurs de tableau: val in arr vérifiera si val est en arr .)

La réponse de thejh est correcte si vous souhaitez ignorer le prototype de l'objet. La réponse de Jimmy est correcte si vous souhaitez ignorer les clés avec une valeur null ou undefined .

35voto

limscoder Points 1504

Le '?' l'opérateur vérifie l'existence:

 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
 

20voto

thejh Points 20901
 obj.hasOwnProperty(name)
 

(ignorer les propriétés héritées)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X