키
와 값
쌍으로 이루어져 있다. (key-value pair)let user = { firstName: 'Steve', lastName: 'Lee', email: 'steve@codestates.com', city: 'Seoul' }; user.firstName; // 'Steve' user.city; // 'Seoul'
''
또는 ""
또는 ``
)로 묶어주고 다시 대괄호([]
)로 묶어줌let user = { firstName: 'Steve', lastName: 'Lee', email: 'steve@codestates.com', city: 'Seoul' }; user['firstName']; // 'Steve' user["city"]; // 'Seoul' user[`email`]; // 'steve@codestates.com'
속성(
firstName
)을 정의되지 않은 변수로 취급해Uncaught ReferenceError : 변수가 정의되지 않음
에러가 뜬다.
let person = { name: 'Steve', age: 16 }; function getProperty(obj, propertyName) { return obj[propertyName]; // propertyName이 string으로 들어오므로. // 요구사항 let output = getProperty(person, 'name'); console.log(output); // 'Steve' let output = getProperty(person, 'age'); console.log(output); // 16
let tweet = { writer : 'stevelee', content: '재밌다!' }; tweet.isPublic = true; // isPublic 키-값 쌍을 추가 // tweet은 다음과 같게 됨 // {writer : 'stevelee', content: '재밌다!', isPublic = true};
let tweet = { writer : 'stevelee', createdAt : '2022-09-05 12:04:22'. content: '재밌다!' }; delete tweet.createdAt; // createdAt 키-값 쌍을 지움 // tweet은 다음과 같게 됨 // {writer : 'stevelee', content: '재밌다!'};
let tweet = { writer : 'stevelee', createdAt : '2022-09-05 12:04:22'. content: '재밌다!' }; 'content' in tweet; // true 'updatedAt' in tweet; // false