Литералы с typeof “Undefined”

353
07 января 2017, 15:49

Какие литералы вернут true?

(typeof %литерал% == "undefined")
Answer 1

Нашел два решения проблемы

Банально но

typeof undefined == "undefined"

хотя тут никто не мешает задать эту переменную undefined и получается небезопасно

В итоге решение это void(0), т.к. попытка объявить функцию void вызовет ошибку

typeof void(0) == "undefined"

Хотя все равно получается какой-то зашквар :)

Answer 2

Смотря что подразумевается под литералом. Если константа, то никакие.

Если что угодно, то undefined (это readonly-свойство, а не константа), любые необъявленные переменные (за исключением переменных в temporal dead zone в ES6), любые выражения, значениями которых является undefined.

Ну и ещё один магический случай - document.all :)

console.log(typeof undefined == 'undefined') 
 
console.log(typeof gdfsfjgsb == 'undefined') 
console.log(typeof void 6789 == 'undefined') 
console.log(typeof {}.jsdhfs == 'undefined') 
 
console.log(typeof document.all == 'undefined') 
console.log(document.all.length)

READ ALSO
Как сократить код на jQuery

Как сократить код на jQuery

Мой код работаетНо думаю, что как-то не так написал

417
Вывод максимального числа в массиве

Вывод максимального числа в массиве

Вывожу максимальное число функцией

394
Как добавить сгенерированный canvas в нужный элемент в html?

Как добавить сгенерированный canvas в нужный элемент в html?

Сейчас, если встроить этот скрипт в html, то он создает canvas внизу экрана, а хотелось бы его оптимизировать так, чтобы можно было вставить в любой...

368