Chapter2. 객체
항목은 모두 같지만, 입력하는 정보는 사용자마다 다르다.
입력해야 하는 데이터 종류가 동일하지만 각자 다른 값을 가지는 경우 객체를 사용한다.
객체의 좋은 예제 - 회원 주소록 만든다고 가정
let userFirstName = 'Steve';
let userLastName = 'Lee';
let userCity = 'Seoul;
-> 한 사람에 대한 정보에 변수 여러개가 필요하다.
만약 또 다른 사람을 추가하게 된다면
let user2FirstName = 'Jason';
let userLastName = 'Lee';
-> 이런식으로 여러개의 변수를 선언해줘야 한다.
-> 배열을 써보면?
let user = [
'Steve',
'Lee',
'Seoul'
};
let user2 = [
'Jason'
...
];
각 값이 하나의 변수로 묶여있지만, 가독성이 떨어진다.
-> 객체를 쓰면
let user = {
firstName: 'Steve',
lastName: 'Lee',
city: 'Seoul'
};
user.firstName; // 'Steve'
user.city; // 'Seoul'
''
, ""
), 또는 백틱(`)으로 감싸준다.user['firstName']; // 'Steve'
user['city']; // 'Seoul'
delete
tweet.createdAt;
let tweet = {
writer: 'stevelee',
createdAt: '2020-02-20 20:20:22',
};
'writer' in tweet; // true
'content' in tweet; // false
for ~ in
문을 통해 객체의 모든 Key에 접근, 출력할 수 있음
function allKeys(obj) {
for (let key in obj) {
console.log(key)
}
}
for of
문은 string과 array, 유사 배열에서 사용하는 반복문.
배열의 요소에 순서대로 반복적으로 접근하기 위한 방법이다. 객체에선 사용X
for (let ele of arr)
= for (let i = 0; i < arr.length; i +=1)
과 같다고 생각하면 쉬움.
배열과 객체의 차이점?
-> 순서 정보의 유무.
배열은 요소에 0부터 순차적으로 접근가능
객체는 속성에 순서대로 접근하지 않고, Key를 통해 value에 접근함