Кто-то я знаю только учится программировать и наткнулся на это и оставил меня озадачило:Пожалуйста, объясните этот JavaScript галтель
Пожалуйста, откройте консоль (Chrome/Firefox) и введите: var name = ['what', 'the', '...?'];
Я бы ожидать name
к быть массивом строк, но:
typeof name
отображаетstring
вместоArray
- листинг
name
переменная выводит строку вместо массива name.length
является13
вместо3
- написание
name = name.split(',')
возвращает массив["what", "the", "...?"]
, как ожидалось, ноname
ещеstring
, а не массив
name
является единственным имя переменной, которое, кажется, ведет себя так, или, по крайней мере, я не мог найти другого.
Это просто консольная причуда, ошибка двигателя JavaScript или что?
ПРИМЕЧАНИЕ: вышеуказанное происходит в Chrome и Firefox. IE Edge неожиданно работает, как ожидалось (typeof name
- Array
и все такое). Не тестировалось в других браузерах.
Попробуйте использовать имя переменной, отличное от 'name'. https://developer.mozilla.org/en-US/docs/Web/API/Window/name – j08691