객체는 다양한 데이터를 담을 수 있다. 객체는 property를 가지고 있는데, 키(key):값(value) 한쌍으로 이루어져 있다. 키에는 문자형이 들어있고 값에는 모든 자료형이 들어갈 수 있다.
객체의 첫번째 키값쌍 뒤 두번째 프로퍼티를 넣을때엔 ','을 넣어줘야 한다.
프로퍼티 키는 프로퍼티의 이름이나 식별자라고도 부른다. 이 키(식별자)를 이용해 프로퍼티를 찾거나 추가 삭제할 수 있다.
dot notation과 bracket notation으로 키를 찾으면 키가 가진 값이 나온다. bracket notation으로 접근할땐 키는 문자형이므로 문자형으로 접근해야한다.
let zumwholInfo = { name : 'zumwhol', gender : 'male' } console.log(zumwholInfo.name) --> zumwhol console.log(zumwholInfo['gender']) --> male
delete 연산자를 사용하면 프로퍼티를 삭제할 수 있다.
let zumwholInfo = { name : 'zumwhol', gender : 'male' } delete zumwholInfo['gender'] console.log(zumwholInfo) --> {name:'zumwhol'}
상수 객체의 내용도 수정될 수 있다.
const zumwholInfo = { name : 'zumwhol', gender : 'male' } zumwholInfo.name = 'Hong' console.log(zumwholInfo.name) --> Hong
bracket notation으로 변수를 키로 사용할 수 있다. 이때는 프로퍼티의 키가 아닌 변수로 접근했으니 문자형이 아니다.
let zumwholInfo = { name: "zumwhol", gender: "male" } let key = prompt("어떤 정보를 원하세요?","gender"); console.log(user[key]) --> male
단축 프로퍼티
function zumwholInfo(name, gender){ return{ name: name, // 인자로 name을 값으로 받고 있다. gender: gender // 인자로 gender을 값으로 받고 있다. }; } let something = zumwholInfo("zumwhol", "male"); console.log(something.name) --> zumwhol
for...in문
for(key in object){ //객체의 모든 키를 순회한다. }
let zumwholInfo = { name: "zumwhol", gender: "male", "Favorite brand": "patagonia" } for(let key in zumwholInfo){ console.log(key) --> "name", "gender", "favorit brand" console.log(zumwholInfo[key]) --> "zumwhol", "male", "patagonia" }
🥲자바 스크립트와 객체는 엄청나게 연관이 깊다고 들었는데, 나는 객체를 제일 모르는 것 같다. 친해지자