bracket notation 안에는 동적인 변수를 담을 수 있다. 즉, 반복문 등에서 유용!
const gelato = { flavor: "blood orange" }
gelato[flavor] // Error: flavor is not defined
gelato['flavor'] // "blood orange"
gelato.flavor // "blood orange"
for in 문법을 사용한다. (배열은 for of 문법) 인덱스 등 순서성을 가지고 접근할 수는 없지만, 객체의 각 키에 접근함으로써 결과적으로 키의 값도 핸들링할 수 있다.
let song = {
title: "Seoul jazz night",
artist: "Skyblue",
year: 2020
}
for(const prop in song){
if(prop === 'year'){
delete song[prop];
}
} // true;
console.log(song); // {title: "Seoul jazz night", artist: "Skyblue"}
Object.keys() 는 객체의 키만 모아서 배열로 리턴해주는 메소드다.
let song = {
title: "Seoul jazz night",
artist: "Skyblue",
year: 2020
}
Object.keys(song); // [ "title", "artist", "year"]
객체에 어떤 키가 있는지 확인하기 위해서 Object.keys() 로 배열을 만들어서 indexOf 등으로 검사해도 되겠지만, in 연산자로 쓰면 빠르게 boolean 값으로 확인할 수 있다.
"title" in song // true;
"genre" in song // false;