Сокращение, если существует переменная /else

Я просто запускаю функцию, которая проверяет, является ли переменная year установлен, если нет, то установите его new Date().getFullYear(),

Ошибка, которую я получаю:

Uncaught ReferenceError: год не определен

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

Почему я не могу проверить, если year существует а если не установить?

3 ответа

Решение

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

Полезно для проверки параметров функции

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

другой путь

Вы можете использовать объектную нотацию:

// 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
Другие вопросы по тегам