배열에는 순서가 있어서
index
로 접근할 수 있다. 객체의 각key
는 순서를 갖고 있지는 않지만,index
와 다르게 의미를 갖고있다. 객체의 모든key
에는value
가 있으며, 이를 키-값 쌍이라고 부른다.let arr = ['a', 'b', 'c', 'd'] arr[0]; // 'a' arr[1]; // 'b' let obj = { name: "tamago", age: "15", city: "Seoul" } obj.name; // 'tamago' obj['age']; // '15'
Dot notation :
obj.content
//.
점으로 접근
Bracket notation :obj['content']
//[ ]
대괄호로 접근.key가 변수일 경우 Dot notation으로는 접근할 수 없다. 하지만 Bracket notation으로는 접근이 가능하다.
obj[key]
의 형식으로 접근할 수 있다. key가 변수일 경우 작은 따옴표로 묶어줄 필요는 없다.
obj.a = "hello"
의 형식으로 key에 해당하는 value에 값을 할당해 줄 수 있다. Bracket notation을 사용하고 싶다면~?obj['a'] = "hello"
의 형식으로 할당해주면 된다. 하지만 key가 변수가 아닐 경우 Dot notation을 사용하는게 편리하다.
delete obj.key
의 형식으로 키-값 쌍을 지운다. 리턴 값은 신기하게도 항상 true이다. 헷갈리지 말자 !!
반복문
for (let el in obj)
는 obj의 모든 값에 쉽게 접근할 수 있도록 해준다. 여기서el
은key
의 값이다.객체의 모든
key
와value
를 출력해보자 !let obj = { name: "tamago", age: "15", city: "Seoul" } for (let el in obj) console.log(`${el}: ${obj[el]}`) // name: tamago // age: 15 // city: Seoul