Подтвердить что ты не робот

Почему ведущий `+` в `j = + я + (i <0? Len: 0)` (взятый из исходного кода jQuery)

Я нашел следующий фрагмент в исходном коде jQuery в определении функции eq:

j = +i + ( i < 0 ? len : 0 )

Я был удивлен +i. Скорее, я бы ожидал:

j = i + ( i < 0 ? len : 0 )

Какая разница? Какая полезность этого ведущего +?

4b9b3361

Ответ 1

Плюс перед переменной переводит его в число.

Например:

var x = "12";
console.log(x + 3); //logs 123;
console.log(+x + 3) //logs 15;

Ответ 2

+i зажимается. В качестве примера попробуйте "1" + 1 по сравнению с +"1" + 1 (первая "11", а последняя 2)