예시) 회원 주소록을 만들어보자. 주소록에는 이름, 이메일, 거주지역이 필요하다.
// 매번 변수를 선언? 각 변수는 이름으로 구분할 수 있을 뿐 서로 관계가 없다.
let userFirstName = 'Gil Dong';
let userLastName = 'Hong';
let userEmail = 'gildong@naver.com';
let userCity = 'Seoul';
// 배열을 써본다면? 하나의 변수로 묶여있지만 각 index가 어떤 정보를 갖고있는지 알아야 하고 가독성이 떨어진다.
let user = [
'Gil Dong',
'Hong',
'gildong@naver.com',
'Seoul'
];
// 객체를 사용한다면? 이러한 주소록에 적합한 자료구조이다.
let user = {
firstName: 'Gil Dong',
lastName: 'Hong',
email: 'gildong@naver.com',
city: 'Seoul'
};
방법 1. Dot notation
user.firstName; // 'Gil Dong'
user.city; // 'Seoul'
방법 2. Bracket notation
user['firstName']; // 'Gil Dong'
user['city']; // 'Seoul'
user[city]; // Reference Error 출력. ['']없이 입력하면 키가 아니라 변수로 인식해 오류를 출력한다.
Dot notation은 쓰기도 편하고 직관적이지만 키 값이 변할 땐 사용할 수 없다.
키 값이 변하는 경우에는 Bracket notation 을 사용해야 한다.
user['phoneNumber'] = '010-1234-1234';
user.isPublic = true;
user.tags = ['#코드스테이츠', '#소프트엔지니어'];
delete user.tags;
'firstName' in user; // true