Помогите разобраться почему такой код выдает true
[0,2,5][2,1] == 2
Я понял что при обращению к элементу массива он учитывает только последнюю цифру , все что до запятой он не учитывает. Но почему так можно писать и для чего вообще могут быть нужны такие записи?
В данном случае используется оператор запятая. Согласно документации MDN, выполняет каждый операнд слева направо и возвращает значение последнего операнда.
Зачем использовать? Имхо, в принципе от него нет особенной какой-то пользы за исключением случаев, когда хочется выделиться элегантностью записи многих операций в одну строку (что, как следствие приводит к ухудшению читаемости кода), хотя в принципе это дело вкуса.
Куча примеров есть на хабре.
Потому что это оператор запятая:
var x = (1, 2)
console.log(x)
console.log((3, 4))
console.log(1, (2, 3), 4)
console.log([0, 1, 2, 3][(1,2)])
console.log([0, 1, 2, 3][ 1,2 ])
if (false, true) console.log(10), console.log(20); else ;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно, чтобы астероид пролетал за границы экрана и потом снова вылетал с другой стороныИ так по-кругу
Изучая react наткнулся на интересную с моей точки зрения конструкцию в react-bootstrap:
Надо сделать чтобы при клике на один из option, в input вставлялся optioninnerHTML
Мне нужно сделать анимационные линии при наведении на кнопку, от середины нижней линииЛиния должна идти в разные стороны и менять цвет