[알쓸자잡] 객체 키 접근 방식의 차이

younoah·2021년 9월 19일
0

[알쓸자잡]

목록 보기
1/2

🏃🏻‍♂️ intro

최근 2개의 객체를 shallow compare하는 함수를 구현하면서 궁금증이 생겼다.

만약 첫번째 객체에 존재하는키가 두번째 객체에 없다면 에러가 발생하지 않을까?

객체의 키로 값을 접근하는 방법은 크게 2가지가 있다.

  • 인덱싱 방식 - [] notation
  • 객체 프로퍼티 방식 - . notation

예제

const obj = {
  a: 111,
  b: 222,
};

console.log(obj[c]); // ReferenceError: c is not defined
console.log(obj.c); // undefined

우선 두 방식의 가장 큰 차이점은 객체의 키가 없다면

[] notation에서는 에러를 반환하고 . notation에서는 undefiend를 반환한다.

또한 만약 키가 숫자로 시작할때와 연산기호가 들어가는 키일때 . notation을 사용할 수 없다.

참고하면 좋을 블로그

profile
console.log(noah(🍕 , 🍺)); // true

0개의 댓글