Como uso o operador existencial do CoffeeScript para verificar se há indefinidas em algumas propriedades do objeto?
Gostaria de usar o operador existencial do CoffeeScript para verificar se há indefinidas em algumas propriedades do objeto. No entanto, encontrei um pequeno problema.
Code assim:
console.log test if test?
Compiles para:
if (typeof test !== "undefined" && test !== null) console.log(test);
Qual é o comportamento que eu gostaria de ver. No entanto, quando tento usá-lo nas propriedades do objeto, desta forma:
console.log test.test if test.test?
Eu recebo algo assim:
if (test.test != null) console.log(test.test);
O que não parece um cheque contra indefinido. A única maneira de ter conseguido o mesmo comportamento (1: 1) de usá-lo para objetos era usando uma verificação maior:
console.log test.test if typeof test.test != "undefined" and test.test != null
A pergunta é - estou fazendo algo errado? Ou o código compilado é suficiente para verificar a existência de uma propriedade (uma verificação nula com conversão de tipo)?