자바스크립트의 기본 타입(data type): 객체(object)
객체란 이름(name)과 값(value)으로 구성된
프로퍼티(property)의 정렬되지 않은 집합.
프로퍼티의 값으로 함수가 올 수도 있는데, 이러한 프로퍼티를 메소드(method)라고 한다.
let user = {}; // 빈 객체 선언
user = {
name: "boyeon",
email: "boyeon2381@gmail.com",
city: "seoul"
} // 객체에 값 할당
console.log(user); // --> {name: "boyeon", email: "boyeon2381@gmail.com", city: "seoul"}
항상 키와 값(key-value pair)으로 값으로 지정.
그 값들은 속성(Property)라고 부르며, 한 쌍당 구분은 쉼표(comma)로 구분.
중괄호'{ }'를 통해 객체를 만듦.
obj.key // Dot notation
obj['key'] // Bracket notation

추가와 삭제(notation, delete, key in obj)
let user = {
name: "boyeon",
city: "seoul",
email: "boyeon2381@gmail.com",
}
/* 값을 추가하기 */
user.isStudent = true;
user['hobby'] = ['영화', '음악감상'];
/**
*{
* name: "boyeon",
* city: "seoul",
* email: "boyeon2381@gmail.com",
* isStudent: true,
* hobby: ["영화", "음악감상"]
*}
*/
/* delete: 값을 삭제하기*/
delete user.email;
/**
*{
* name: "boyeon",
* city: "seoul",
* isStudent: true,
* hobby: ["영화", "음악감상"]
*}
*/
/* 키 확인하기 */
'city' in user; // true
'email' in user; // false
}
delete : delete 키워드를 이용해 삭제
in : in 연산자를 이용해 해당하는키를 확인가능
Object.keys(obj): 객체의 키만 담은 배열 반환
Object.Values(obj): 객체의 값만 담은 배열 반환
Object.entries(obj): [키,값] 쌍을 담은 배열 반환
for...in : 배열 순환 (배열의 반복에는 forEach도 사용)
for...of : 객체 순환