본문 바로가기
Research/problems

JS_Object 정의 문법 오류

by RIEM 2022. 3. 19.
728x90

Function을 객체Object에 넣기

const player = {

    name = "John",

    sayHello = function (otherName) {

        console.log("Hi", otherName + ", Good to see you again"),

    },

};



console.log(player.name);

player.sayHello("Suji");

 

function을 객체에 넣으면 위와 같다. sayHello라는 키에 function을 대입한다. 직관적으로 이해할 수 있다. player 객체에 sayHellow 메소드를 사용하면 해당 function이 실행된다. 한번 확인해보자.

 

문제 발생

그런데 ‘}’ 때문에 문법 오류가 발생했다. 어디가 문제가 생긴 것일까?

 

const player = {
    name = "John",
    sayHello = function (otherName) {
        console.log("Hi", otherName + ", Good to see you again"),
    },

};

console.log(player.name);
player.sayHello("Suji");


문제 원인

  1. Object 내 name, sayHello를 정의해줄 때 ‘:’가 아닌 ‘=’를 썼다. 
  2. function 내 console.log 구문이 끝난 후 무의미한 ‘,’가 들어가있다.


해결

const player = {
    name : "John",
    sayHello : function (otherName) {
        console.log("Hi", otherName + ", Good to see you again")
    }

}

console.log(player.name);
player.sayHello("Suji");

 


인사이트

  • JS에서 Object 내 property와 method를 정의하기 위해 ‘:’를 쓴다
  • ‘=’는 Object 선언 시 사용한다
  • 불필요한 ‘,’는 넣지 않는다

 

728x90

댓글