부트캠프

객체

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'}