Cuando coloco en Sublime la función document.write("25"+"15"), el compilador me realiza la suma. Cristian dijo en el video que realizaria una concatención, pero a mi me realiza la suma.
tengo algo mal configurado....?
Cuando coloco en Sublime la función document.write("25"+"15"), el compilador me realiza la suma. Cristian dijo en el video que realizaria una concatención, pero a mi me realiza la suma.
tengo algo mal configurado....?
Que extrano, a mi no me sucede. Has probado con otros valores?, si quieres puedes compartir tu codigo para verificar.
Hola jonatan, como te aparece en la pantalla? porque yo hice eso y me lo concatena a los números, porque esta sumando dos textos
Hola Yanina y Tomas.
Muchas gracias por responder sobre mi inquietud, apenas llegue a mi casa les envio imágen y código para que lo podamos revisar.
Hola Jonatan, puedes añadir una captura del código?. Un saludo
Buenas tardes a todos,
Les adjunto la captura de pantalla.
Note al volver a realizarlo que al tener comillas y que tenga una operacion diferente a la suma si toma la cadena de texto como numeros.
Hola Jonatan, el símbolo ( + ) en JS sirve para concatenar y para sumar. Si le digo que sume dos strings númericos "2022"+"33", no lo hará el programa los reconocerá como cadenas y por tanto los concatenará. Ahora bien, si le digo que reste dos strings númericos "2022"-"33" lo hará a pesar de ser cadenas, ambos son compatibles y por tanto los reconocera como números. La operación ( - ) solo está definida para restar, al igual que la operación multiplicar y dividir. Lo que quiero decir es que si el símbolo ( + ) no estaría predefinido para concatener al hacer "2022" + "33" daría 2055 y no 202233.
Por eso, si quieres sumar dos strings númericos deberas convertirlos a entero o flotante. Además no se puede operar algo como "2M22" - "33" habrá conflicto de compatibilidad y el resultado será NaN (Not a Number).
El siguiente código demuestra lo anteriormente explicado:
<script>
var a = 5;
var b = 6;
document.write("1" + a + b);
</script>
Aunque todos son compatibles, todo se concatenará dado que ( + ) está predefinido para esa función.
Tal cual como dice Luis, podrias escribirlo
// Opcion A
function suma() {
document.write("25 - 15");
}
suma();
// Opcion B
function suma() {
document.write("25" + " - 15");
}
suma();
// Opcion C
function suma() {
document.write("25" + " - " + "15");
}
suma();
segun tu preferencia/necesidad.
Saludos!
Tenía la misma duda y si bien me di cuenta de que al poner restar si hacía la operación y supuse que solo el signo mas concatenaba no sabía la explicación... Que explico Luis..
Buenos dias
Muchas gracias a todos por sus correcciones e información, me quedo totalmente claro el tema.
@Luis, muchas gracias por esa explicación, de verdad, fue muy instructivo tu ejemplo.
Excelente explicación Luis David!
Puse el código en la consola de freeCodeCamp, y me arrojó 9, porque? Gracias!
Me uno a los agradecimientos. Realice las observaciones planteadas y aclaré las inquietudes que me surgieron. Muchas gracias.
excelente, muchas gracias, tenia la misma inquietud realicé el mismo procedimiento y obtuve el mismo resultado, pero ahora viendo la respuesta que comparte nuestro compañero, me quedo clara la respuesta. muchas gracias.
Si los dos números están entre comillas "": Si multiplicas, multiplicas; Si divide, divides; Si restas, restas; Si sumas, concatenas.
el ( + ) esta definido para concatenar.