Помогите разобраться почему такой код выдает 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 ;
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости