[JavaScript] Object Literal Property Value Shorthand

2021. 12. 8. 09:35Programming/JavaScript

반응형

최근 트위터에서 이런저런 계정이나 토픽을 구독할 수 있다는 걸 알게되서, 여기저기 기웃거리던 도중 JavaScript Quiz이라는 글을 발견했다. JsBin과 같은 사이트에서 동일하게 코드를 입력한 후 콘솔창에 출력되는 결과를 보면, 다음과 같다.

[object Object] {
  isDeveloper: true,
  name: "Faheem"
}

잘 보면 키값을 명시하지 않았는데, Object에 변수명이 키값으로 들어있는 것을 볼 수 있다. 이는 ES6에서 추가된 문법적 설탕으로, 다음의 글(ECMAScript 6 and Object Literal Property Value Shorthand)에 잘 설명되어 있다. ES5에서 아래와 같은 방식으로 작성해야했던 것을 생각해보면, 꽤나 간소해진 셈이다. 같은 코드를 ES5 스타일로 작성하면 아래와 같다. 물론 Object Literal Property Value Shorthand는 문법적 설탕이기 때문에 잘 모르는 사람에게는 머릿속에 ?을 띄우게 되므로, 직관적인 코드인가는 조금 의문이긴 하다.

function newUser(name, isDeveloper) {
  return {
    name: name, 
    isDeveloper: isDeveloper
  };
}

let user = newUser('Faheem', true);

console.log(user);

 

반응형