Интересная вещь, которую я никогда раньше не видел, была опубликована в другом вопросе. У них было что-то вроде:
var i = + +1;
Они думали, что дополнительный +
преобразовал его в строку, но они просто добавляли строку, которая заставляла ее конвертировать.
Это, однако, привело меня к вопросу: что здесь происходит?
Я бы на самом деле ожидал, что это ошибка компилятора, но JavaScript (по крайней мере, в Chrome) с ним просто отлично... он просто ничего не делает.
Я создал небольшой JSFiddle, чтобы продемонстрировать: Демо
var i = 5;
var j = + +i;
document.body.innerHTML = i === j ? 'Same' : 'Different';