부트캠프
객체
mimi-latte
2022. 5. 11. 09:26
객체란?
- 키와 값으로 구성된 속성을 가진 자바스크립트의 기본 데이터 타입
- 변경 가능한 값(mutable value)
- 프로퍼티와 메서들 구성된 집합체
- 프로퍼티 : 객체의 상태를 나타내는 값
- 메서드 : 프로퍼티(상태 데이터)를 참조하고 조작할 수 있는 동작(behavior)
배열과 객체의 특징
배열
- 값(element)으로 구성되어 있다.
- 인덱스를 이용하여 값을 참조한다.
- length 프로퍼티를 가지므로 반복문을 통해 순차적으로 값에 접근하기 적합한 구조이다.
객체
- 키(key)와 값(value)로 구성되어 있어 불특정 데이터의 접근 시 배열보다 유리하게 접근할 수 있다.
- 프로퍼티 키를 사용하여 값을 참조한다.
속성(property)의 추가, 조회, 변경 삭제
let person = {
name: 'hong',
age: 29
}
속성의 추가
// Dot notation을 이용해 속성 추가하기
person.hobby = 'listening to music';
// Bracket notation을 이용해 속성 추가하기
person['favoriteFood'] = 'chicken';
console.log(person);
// 결과 : {name: 'hong', age: 29, hobby: 'listening to music', favoriteFood: 'chicken'}
속성의 조회
// Dot notation을 이용해 속성 조회하기
console.log(person.name);
// 결과 : hong
// Bracket notation을 이용해 속성 조회하기
console.log(person['age']);
// 결과 : 29
// in 연사자를 이용해 해당 속성이 객체에 있는지 확인하기
console.log('tall' in person);
// 결과 : false
console.log('name' in person);
// 결과 : true
속성의 변경
이미 존재하는 프로퍼티에 값을 할당하면 프로퍼티 값이 변경된다.
// 객체 person의 속성 age 값을 20으로 변경
person.age = 20;
console.log(person.age);
// 결과 : 20
속성의 삭제
// delete 연산자를 이용하여 속성을 삭제한다.
delete person.favoriteFood;
console.log(person);
// 결과 : {name: 'hong', age: 29, hobby: 'listening to music'}