shorthand if/else 变量存在

shorthand if/else variable exists

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

我得到的错误:

Uncaught ReferenceError: year is not defined

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

为什么我不能检查 year 是否存在,如果没有设置?

您可以使用对象表示法:

// 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

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

检查函数参数很有用

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

另一种方式