Comment utiliser l'opérateur existentiel CoffeeScript pour vérifier certaines propriétés d'objet pour undefined?

Je voudrais utiliser la CoffeeScript existentielle de l'opérateur de vérifier certaines propriétés de l'objet pour non-défini. Cependant, j'ai rencontré un petit problème.

Code comme ceci:

console.log test if test?

Compile:

if (typeof test !== "undefined" && test !== null) console.log(test);

Ce qui est le comportement que je voudrais voir. Cependant, lorsque j'essaie de l'utiliser sur les propriétés de l'objet, comme ceci:

console.log test.test if test.test?

J'obtiens quelque chose comme ça:

if (test.test != null) console.log(test.test);

Qui desn ressemble pas à une contre-vérifier les undefined. La seule façon que je pouvais avoir atteint le même (1:1) le comportement que l'utiliser pour des objets en utilisant un plus grand contrôle:

console.log test.test if typeof test.test != "undefined" and test.test != null

La question est - ce que je fais quelque chose de mal? Ou est le code compilé ce qui est suffisant pour vérifier l'existence d'une propriété (null vérifier avec la conversion de type)?

source d'informationauteur Przemek