Soy nuevo en javascript e intenté ejecutar lo siguiente en el navegador Brave:
'1' + '2' - 3;El navegador respondió con el valor 9, que no entiendo.
'1' + '2' es una concatenación de cadenas y el resultado es '12'. '12' - 3 es la operación matemática 12 - 3 y el resultado es 9.
Debes hacer los pasos intermedios y ver por ti mismo.
Probar:
a = '1' + '2'; console.log(a); b = a - 3; console.log(b); // prints 9El operador + se describe con fines de suma de operandos numéricos o concatenación de cadenas: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Addition
Eso es porque sus dos primeros números son cadenas. Obtendría una respuesta correcta si usara:
1 + 2 - 3O si no puede evitar hacer un cálculo en una cadena, primero conviértalo en un número:
parseInt('1') + parseInt('2') - 3