Yo estaba jugando un poco con diferentes cosas, como este¿Por qué funciona "a + + b", pero "a ++ b" no?
var a = 1, b = 2;
alert(a + - + - + - + - + - + - + - + b); //alerts -1
y pude quitar los espacios, y no por ello deja trabajar.
a+-+-+-+-+-+-+-+b
Luego probé
a + + b
Se corrió y se evalúa a 3, pero cuando me quita los espacios, (a++b
) sería no correr, y tenía una advertencia que decía "pros confusas "
puedo entender que en casos como
a+++++b
que podría interpretarse como cualquiera de los siguientes
(a++) + (++b)
(a++) + +(+b)
a + +(+(++b))
a + +(+(+(+b)))
que sería confuso.
Pero en el caso de
a++b
la única forma válida para interpretar esto, por lo que yo puedo decir, es
a + +b
Por qué no a++b
trabajo?
Supongo que entra en conflicto con a ++ que es synax válido, o ++ b. – TheCodeKing
También podría interpretarse (a ++) bo a (++ b) ... –
'++ b' también es válido – Andrew