어떨 때 사용하는가
element의 순서보다는 각 의미를 저장하는 것이 더 중요할 때!
let object = {key: value, key: value}
1. dot notation objName.key
2. bracket notation objName['key']
❗️ bracket notation에는 반드시 문자열을 넣어준다
문자열이 아닐 경우 변수 취급하므로 객체와 관련된 함수를 만들때는 dot notation이 아닌 이 bracket notation을 사용하도록 하자!
delete objName.key
: key
를 키값으로 가지는 속성값 삭제
c.f. delete objName[key]
는 변수 key
를 키값으로 가지는 속성값을 삭제한다!!
'key' in objName
: key
를 키값으로 가진 속성값이 있는지 없는지 조회
객체 전체를 반복문으로 확인하려면 for in
을 사용
Q12. 입력받은 객체의 속성 개수를 반환하라
function countNumberOfKeys(obj) {
let count = 0;
for(let prop in obj){
count ++
}
return count;
}
Check 👉🏾 Object.keys(obj)
는 객체 obj
의 key값을 요소로 가지는 배열을 만들어준다. 따라서, 간단히 Object.keys(obj).length
로 확인할 수 있음!
Q13. 객체를 입력받아
키: 값
으로 이루어진 문자열로 반환하라
- 속성이 여러개일 경우 줄바꿈 문자를 이용해 표현한다.
- 콜론 뒤에는 공백이 포함되어야 한다.
function printObject(obj) {
let result = '';
for(prop in obj){
result += `${prop}: ${obj[prop]}\n`
}
return result;
}
Check 👉🏾 Template literal을 기억하자! 더불어 \n
은 줄을 바꿔준다.