객체는 덩어리이며 원시타입을 제외한 모든것이 객체이다.
<객체 접근 방식>
객체의 프로퍼티에 접근할때는 . 으로 접근
대괄호 표기할때는 문자형으로 표기
this는 함수 scope안에서 불려지는 객체
let firstPerson = {
name: 'me',
'first-person' : 'You',
greeting: function() {
console.log('Hi! I\'m' + this.name + '.');
},
10: 100,
friends: ["Mike","Jack","Jenny","Willam"],
}
//마침표 표기법에 의한 프로퍼티 접근
console.log(firstPerson.name);
console.log(firstPerson.friends[2]);
console.log(firstPerson.greeting());
//대괄호 표기법에 의한 프로퍼티 접근 : 괄호 안에 문자형으로 표기
console.log(firstPerson['name']);
console.log(firstPerson['first-person']);
//프로퍼티 키가 숫자로 이루어진 문자열일 경우
console.log(firstPerson['10']); //대괄호를 사용할 경우 숫자도 문자열로 묶어준다.
console.log(firstPerson[10]);
//존재하지 않는 프로퍼티 접근하는 경우
console.log(firstPerson.interest); //undefined
//프로퍼티 값을 갱신시 객체가 소유하고 있는 프로퍼티에 새로운 값을 할당
let secondPerson = {
'first-name' : 'Jenna',
'last-name' : 'Lee',
gender: 'female'
};
secondPerson['last-name'] = 'Kim';
console.log(secondPerson['last-name']);
//객체 프로퍼티 삭제
delete secondPerson.gender;
console.log(secondPerson);
console.log(secondPerson.gender); //undefined (존재)