배열은 같은 종류를 한가지만 나열했다면, 객체는 각기 다른 값을 가지지만 데이터의 종류가 동일한 경우 객체를 사용하면 데이터를 손쉽게 관리할 수 있다.
왜 손쉽게 관리 할 수 있을까?
객체는 키(Key)와 값(Value)를 쌍으로 이뤄져있다.
let user = {
firstName: "Gil-Dong",
lastName: "Hong",
email: "road@joseon.com",
city: "HanYang",
}
배열에서 인덱스를 써서 정보를 가져오려면은 각 index가 어떤 정보를 가지고 있는지 미리 알아야 한다. 그래서 정보를 관리할 때는 배열을 사용하는 것이 별로다.
배열에서 인덱스를 사용해 요소들을 사용하는 것처럼 객체에서도 키와 값을 사용할 수 있다. 방법에는 2가지가 있다.
user.firstName; // 'Gil-Dong'
user.cith; // 'HanYang'
user['firstName']; // 'Gil-Dong'
user['city']; // 'HanYang'
주의할점
키 값을 따옴표로 감싸줘야 한다. []안에 동적인 키 값을 적을 수 있다.
Dot과 Bracket의 차이점
Dot뒤에는 변수를 넣을 수가 없지만 Bracket에는 동적인 변수를 넣을 수 있다.
delete user['firstName'];
// or delete user.firstName;
객체에서 하나의 프로퍼티를 삭제한다.
in 연산자를 통해 해당 키가 있는지 확인 할 수 있다.
'lastName' in user; // true
'age' in user; // false
객체의 프로퍼티들의 Key값들을 배열로 출력한다.
Object.keys(user); // => ['firstName', 'lastName', 'email', 'city']
- for반복문안에 if문에 조건식을 쓰고
continue;로 끝내게 되면 밑에 코드를 건너띄고 for문을 반복한다.- for문 조건식에
key in object를 쓰면, object 안 프로퍼티를 반복하는 걸로 쓰이지만, if문 조건식에key in object를 쓰면 boolean을 반환하는 조건식으로 사용할 수 있다.
자바스크립트는 객체가 가장 중요한거 같다. 객체를 잘 다루는 사람. 자바스크립트를 정복하는 사람일 것이다. 기본부터 잘 닦아하는 생각이 든다. 객체, 배열 반복문 정복하자.