Почему длина числа равна undefined?

109
14 февраля 2022, 08:50

Может кто-то объяснить, почему такой код

var a = 5; 
alert(a.length);

возвращает undefined ? Вот документация MDN . Я понимаю, что тип Number это не тип "String", но и тип "Object" у нас согласно документации это не строка, но длину массива все же считают нормально.

Answer 1

В javascript не генерируется ошибка, если идет обращение к полю, которое отсутствует.

Вместо этого проверяются все прототипы объекта, и если ни в одном из них нет искомого поля - возвращается результат undefined.

Именно это и происходит в коде в вопросе.

READ ALSO
Web Audio API, periodic wave

Web Audio API, periodic wave

Как создать волну нужной формы, как работает функция создания, причем здесь преобразование Фурье, как влияет параметр нормализации(включенный...

259
Поведение this. Почему, ведь this ссылается на windows

Поведение this. Почему, ведь this ссылается на windows

Результат в окне - function f(){alert(this)}Почему?

128
Как подсчитать количество элементов в разных блоках?

Как подсчитать количество элементов в разных блоках?

Подскажите, пожалуйста, как правильно подсчитать и вывести в <span></span> количество элементов в разных блоках (для каждого отдельно) с помощью...

105