Есть ли случай, когда объявление переменной без инициализации сделало бы ее неопределенной? - PullRequest
0 голосов
/ 11 января 2019

Если мы объявим переменную без начального значения, значение будет undefined:

var foo;
foo;
// → undefined

Но есть ли случай (например, какой-то старый браузер или, может быть, специальная среда), когда при объявлении переменной эта переменная может иметь значение, отличное от undefined?

Я просто думаю, почему в некоторых случаях мы используем void 0 вместо undefined для проверки на undefined?

// Why this...
if (foo === void 0) {
  // ...
}

// and not this?
var U;
if (foo === U) {
  ...
}

1 Ответ

0 голосов
/ 11 марта 2019

Вы не можете переопределить window.undefined.

Раньше это было возможно в прошлом, в некоторых браузерах, но теперь это невозможно.

Как упомянуто в комментариях, вы можете создать переменную undefined, например:

(() => { 
    const undefined = 'baz';
    console.log('baz' === undefined) 
})()
...