Conversión automática en JavaScript

Las siguientes expresiones en JavaScript son muy obvias.

var x = 10 + 10;

El valor dex es20.

x = 10 + '10';

El valor dex en este caso es1010 porque el+ El operador está sobrecargado. Si alguno de los operandos es de tipo cadena, se realiza la concatenación de cadenas y si todos los operandos son números, se realiza la adición.

x = 10 - 10;
x = 10 - '10';

En ambos casos, el valor dex estarán0 porque el- el operador no está sobrecargado de esa manera y todos los operandos se convierten a números, si no lo están antes de que se realice la resta real (puede aclarar, si es que estoy equivocado).

Lo que sucede en la siguiente expresión.

x = '100' - -'150';    

El valor dex es250. Lo que también parece ser obvio, pero esta expresión parece ser algo equivalente a la siguiente expresión.

x = '100' +'150';

Si hubiera sido así, estas dos cadenas se habrían concatenado y asignado.100150 ax. Entonces, ¿por qué la adición se realiza en este caso?

EDITAR:

+'10' + 5 devoluciones15 y'a' + + 'b' devolucionesaNaN. ¿Alguien sabe por qué?

Respuestas a la pregunta(5)

Su respuesta a la pregunta