Какие литералы вернут true?
(typeof %литерал% == "undefined")
Нашел два решения проблемы
Банально но
typeof undefined == "undefined"
хотя тут никто не мешает задать эту переменную undefined и получается небезопасно
В итоге решение это void(0), т.к. попытка объявить функцию void вызовет ошибку
typeof void(0) == "undefined"
Хотя все равно получается какой-то зашквар :)
Смотря что подразумевается под литералом. Если константа, то никакие.
Если что угодно, то 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)
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости