0

Почему почему alert( "1"[0] ) выдает "1"?

Читал про типы данных и объекты. Как я понял что [ ] это массив. Т.е. в задаче идет перечисление "число"[массив]. Если меняю 0 в массиве на любое другое значение (1,2,3 и т.д.) выдает undefined (что дает мне представление что массив существует, но у него нет значения). Что еще больше меня запутывает, ведь значение то в квадратных скобках есть...

Ставлю + между ними, конкатенация работает. Поиграл с кодом на сколько хватило ума, но объяснения для себя не нашел. Просто не понимаю почему так происходит и что гуглить в данной ситуации не понятно в силу того что только начал изучать.

BAHAMEN
  • 11
  • 2
    Это не массив, а операция получения элемента массива по его индексу. Так как слева не массив, а строка, то берётся символ по индексу, и этим символом оказывается "1" – andreymal Jan 17 '20 at 10:28
  • А в целом это вообще один из вариантов обращения к свойствам объекта, когда в квадратных скобках записывается имя желаемого свойства. В частности, document.body это то же самое что и document["body"]. А у массива и массивоподобных объектов соответственно есть свойства, состоящие из цифр и соответствующие индексам элементов, вот. За подробностями в учебник https://learn.javascript.ru/object – andreymal Jan 17 '20 at 10:30

0 Answers0