Почему 5,6,8,7 = 8 в JavaScript?
Такое своеобразное поведение в JavaScript озадачило многих разработчиков. Давайте углубимся во внутреннюю работу выражений JavaScript, чтобы понять, почему это происходит.
Как вы заметили, следующая операция возвращает 4:
[1,2,3,4,5,6][1,2,3] // 4
Это потому, что второй набор скобок представляет операцию индекса массива, где индексом является выражение 1,2,3. Однако, когда второй набор скобок равен [1,2], результат равен 3.
Ключом к пониманию этого является осознание того, что второй [...] не может быть массивом. Вместо этого это операция индекса массива. Содержимое операции индексирования представляет собой не ограниченный список операндов, а одно выражение.
В этом случае выражение равно 1,2, что дает значение 2. Следовательно, операция индексирования [1,2] эквивалентно [2], которое возвращает элемент с индексом 2 в первом массиве. Этот элемент представляет собой число 8.
В общем, выражение [5,6,8,7][1,2] эквивалентно [5,6,8,7] [2], который возвращает элемент с индексом 2 в первом массиве, то есть 8.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3