简写if / else变量是否存在

时间:2016-03-22 21:49:16

标签: javascript shorthand shorthand-if

我只是运行一个函数,检查变量year是否已设置,如果没有,则设置new Date().getFullYear()

我得到的错误:

  

未捕获的ReferenceError:未定义年份

year = (year) ? year : new Date().getFullYear();
console.log(year);

为什么我无法检查year是否存在以及是否设置了它?

2 个答案:

答案 0 :(得分:2)

year = year || new Date().getFullYear();

用于检查功能参数

答案 1 :(得分:1)

您可以使用对象表示法:

// In the global scope window is this
this['year'] = this['year'] ? year : (new Date).getFullYear();
console.log(year);

或者更好地使用typeof

year = (typeof year === "undefined") ? (new Date()).getFullYear() : year