console.log와 자바 스크립트의 경고의 차이점

Dec 15 2020
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)

이 문제가 발생했습니다.

그래서 내가 할 때 코드의 끝에서 alert (menu); 나는 [object Object]를 얻습니다.

하지만 내가 할 때 console.log (menu); {너비 : 400, 높이 : 600, 제목 : '내 메뉴'}가 표시됩니다. 내가 원했던 것입니다. 그렇다면 차이점은 무엇입니까?

답변

3 IcyBloom Dec 15 2020 at 14:10

menu자체가 객체 이기 때문 입니다.

경고를 사용하면 주어진 메시지가있는 팝업 상자가 열리고 문자열이 필요합니다. Object와 함께 전달되면 대신[object Object]

시도 alert(JSON.stringify(menu))전체 캐릭터 라인 출력을 볼 대신

1 Ashish Dec 15 2020 at 14:10

w3schools에서 제대로 읽었다면 . Alert는 문자열을 매개 변수로 사용하고 메뉴는 문자열이 아니므로 메뉴를 표시하는 대신 메뉴 유형을 표시합니다.

다음과 같이 할 수 있습니다.

alert(JSON.stringify(menu));