JavaScript: тестирование переменных для неопределенного значения; Проверка того, является ли объект массивом
-
Есть ли разница между
typeof value === "undefined"
иvalue === undefined
? -
Зачем JavaScript нужен
Array.isArray()
в ECMAScript 5? Не могу ли я просто вызватьvalue instanceof Array
чтобы определить, является ли данная переменная массивом?
- Как я могу определить получателя и установщика по умолчанию с помощью ECMAScript 5?
- JS Как назначить объекты сеттерам и геттерам?
- Почему у параметра Array.prototype.reduce нет параметра thisObject?
- Function.prototype.bind
- Несогласованность аргументации в javascript
- Список областей, в которых отсутствует поддержка ECMAScript / JavaScript в основных браузерах?
- Когда вы используете Object.defineProperty ()
- В ECMAScript, как некоторые встроенные объекты также встроены?
- Можно ли эмулировать неперечислимые свойства?
- Gulp babel, экспорт не определен
- Операторы автоматической вставки и возврата с запятой
- JSHint не позволит мне использовать 'forEach' в цикле 'for'
- Угловой эквивалент jQuery $ .map?
//var value; There is no var declaration. The variable was never declared // check againts undeclared variables typeof value === "undefined"; // works // check againts declared variables with no value value === undefined; // ReferenceError: value is not defined
Существуют также проблемы с undefined = true
которые действительны. Но на самом деле это вас не волнует. Никто не настолько глуп, чтобы изменить undefined
глобально в эти дни.
Я также знаю, что ошибки с instanceof
были сломаны. Я не могу дать вам точной причины, почему Array.isArray
лучше.
Вы найдете критику на instanceof
в JavaScript Garden
Если вы прочтете эту статью, в ней упоминается, как instanceof
не работает по разным кадрам / окнам / iframes.
Потому что instanceof проверяет снова Array
и каждое окно имеет собственное window.Array
.