Diferencia entre console.log y alert en javascript
let menu = {
width: 200,
height: 300,
title: "My menu"
};
function multiplyNumeric(obj) {
for (let key in obj) {
if (typeof obj[key] == "number") {
obj[key] *= 2;
}
}
}
multiplyNumeric(menu);
alert(menu);
console.log(menu)
Me encontré con este problema.
así que al final del código cuando lo hago alertar (menú); Obtengo [objeto Objeto].
pero cuando lo hago console.log (menu); Recibo {ancho: 400, alto: 600, título: 'Mi menú'}. Que es lo que quería. Entonces, ¿qué está causando la diferencia?
Respuestas
Eso es porque en menu
sí mismo es un Objeto.
Cuando usamos alerta, se abre un cuadro emergente con un mensaje dado, que espera una cadena. Cuando se pasa con un objeto, en su lugar obtendrá[object Object]
En su alert(JSON.stringify(menu))
lugar, intente ver la salida completa en cadena
Si lee correctamente en w3schools . La alerta toma una cadena como parámetro y su menú no es una cadena, es un objeto, por lo que en lugar de mostrar el menú, muestra el tipo de menú
puedes hacer algo como esto:
alert(JSON.stringify(menu));