객체는 키와 값의 집합체이다!
객체에 두가지 접근 방식이 존재:
1. dot notation
2. bracket notation
객체의 property/key는 항상 string 타입으로 지정해서 받아와야한다.
예) obj['prop'] 이렇게 bracket notation을 사용할 때 따옴표로 prop을 감싸주어야한다.
그러나 변수를 전달인자로 받아올 때에는 따옴표를 쓰면 안됨.
예) obj[variable1]
객체의 새 키 추가 및 삭제:
자바스크립트는 dynamic click type language; 동적으로 타입이 runtime때 결정되는 언어이기 때문에 뒤늦게 하나의 prop을 추가할 수 있다. (이미 정의한 객체에)
예) obj.newProp = true; <= obj객체에 값이 true인 newProp이라는 새로운 속성(프로퍼티)를 추가했다.
반복문: for (let prop in obj)...
조건문: if...in statement
코플릿 문제에서 if (let key in obj)문을 보았는데 궁금해서 더 찾아보게되었다.
in 연산자는 어떤 값의 존재 여부에 따라 T/F값을 리턴.
if..in문은 특별히 어렵게 생각할 필요없이 if문 안에 in 연산자(?)를 같이 사용하는걸로 보는게 좋은 것 같다.