Coffeescript和变量检查

时间:2012-11-09 10:12:10

标签: javascript coffeescript

我有以下代码:

if variablename?
   alert "YES!"

l = []

if l[3]?
  alert "YES!"

它被翻译成:

var l;

if (typeof variablename !== "undefined" && variablename !== null) {
  alert("YESSS!");
}

l = [];

if (l[3] != null) {
  alert("YESSS!");
}

在Coffeescript中,我将如何表达l[3] !== "undefined"

2 个答案:

答案 0 :(得分:1)

只需添加typeof运算符,如下所示:

if typeof l[3] != 'undefined'
  alert 'Yes!'

答案 1 :(得分:1)

请注意l[3] !== "undefined"询问l[3]是否与显示“undefined”的字符串不同,而不是它的值是否未定义。 CoffeeScript为l[3]?生成的比较 - > l[3] != null将验证l[3]何时与undefined或null不同,这是您想要在大多数情况下提出的问题:)