Code States TIL 7일차 - 객체

최동혁·2020년 12월 15일
0

오늘은 javascript의 객체에 대해 배웠습니다. 다른 언어에서도 json이라고 불리는 데이터 저장 방식의 원조라고 하네요. (JavaScript Object Notation => JSON) 객체 선언은
let 객체이름={키 : 값, 키: 값, 키: 값} 과 같은 식으로 이뤄집니다.
키를 통해 객체에 접근하는 dot notation과 bracket notation 두 가지 방식이 있습니다. dot notation은 C++에서 class 안의 값에 접근하는 것처럼 Obj.key=val 같은 식입니다. bracket notation은 python에서 dict의 값에 접근하는 것처럼 Obj['key']=val 입니다. 여기서 key 앞뒤로 따옴표가 온 것에 주의해야 합니다.

let a={b:1,c:2}; 

같은 객체에서 key가 b인 값에 접근하고 싶다면 세 가지 방식이 있습니다.

1. a.b
2. a['b']
3. let x='b'; a[x]

특히 3번과 같은 방식을 통해 어떤 객체에 어떤 key가 있는지 모르더라도 Object.keys(obj)와 같은 것으로 받아온 후 그 val에 접근할 수 있습니다. 만약 key가 그 객체에 없다면 Obj.key는 undefined가 됩니다. 또 in 연산자를 k in Obj 같은 식으로 쓰면 Obj에 k라는 key가 있는지 확인해 boolean 값을 되돌려줍니다.
객체의 각 key와 val에 대해서도 for 문을 동작시킬 수 있는데 이는 반복문 때 설명했으므로 넘어갑니다.
객체를 배열로 만드는 함수들도 있습니다.
1. Object.keys(obj)는 객체의 key들로 구성된 배열
2. Object.values(obj)는 객체의 val들로 구성된 배열
3. Object.entries(obj)는 [key, val]로 구성된 2차원 배열입니다.

객체의 특정 키에 해당하는 값을 지울 때는

delete Obj.key1
delete Obj['key2']

같은 방식으로 지울 수 있습니다.

0개의 댓글