최근 2개의 객체를 shallow compare
하는 함수를 구현하면서 궁금증이 생겼다.
만약 첫번째 객체에 존재하는키가 두번째 객체에 없다면 에러가 발생하지 않을까?
객체의 키로 값을 접근하는 방법은 크게 2가지가 있다.
[]
notation.
notationconst obj = {
a: 111,
b: 222,
};
console.log(obj[c]); // ReferenceError: c is not defined
console.log(obj.c); // undefined
우선 두 방식의 가장 큰 차이점은 객체의 키가 없다면
[]
notation에서는 에러를 반환하고 .
notation에서는 undefiend
를 반환한다.
또한 만약 키가 숫자로 시작할때와 연산기호가 들어가는 키일때 .
notation을 사용할 수 없다.