[JS] 객체(Object)

dk.han·2022년 10월 7일
0
post-thumbnail

객체

서로 관련있는 속성 (데이터)과 행동(함수-method)을 묶어주기 위해 사용한다.
밀접하게 관련있는 속성과 행동을 객체로 묶어야한다.

객체를 만드는 방법

  • Object literal { key: value }
  • new Object();
  • Object.create();

key는 문자, 숫자 ,문자열, 심볼이 들어올 수 있다.
value - 원시타입, 객체, 함수가 할당 가능.

let apple = {
  name: 'apple',
  'hello-hi': 123, // 문자열을 쓰면 '-' 데쉬 사용가능
  0: 1,
  ['hello-bye']: 'bye',
};

속성, 데이터에 접근하는 방법

  • Dot-notation과 Bracket-notation 두가지 방법으로 접근할 수 있다.
console.log(apple.name); // dot-notation
console.log(apple[0]); // bracket-notation
console.log(apple['hello-hi']);
  • 속성 추가, 삭제
    속성 추가는 dot-notation 으로 손쉽게 추가 가능하다.
    속성 삭제는 delete 키워드를 통해 가능하다.
apple.madeIn = '우리동네' // 속성 추가
delete apple.madeIn // 속성 삭제

함수에서 객체를 사용할 때에는 Bracket-notation으로 접근하자.

obj에 속성을 추가하는 함수를 사용할 때, dot-notation을 사용할 수 없다.
동적으로 속성에 접근하고 싶을때는 Bracket-notation을 사용해야 한다.

const obj = {
  name: '대근',
  age: 20,
};

function addKey(obj, key, value) {
  obj[key] = value;
}
addKey(obj, 'job', 'developer');

Method

객체 내에 value로 함수를 할당하면 method라 한다.
화살표 함수나 함수 표현식을 사용해야한다. 객체 내에서 자신의 속성에 접근할때는 this를 사용해야한다

const apple = {
  name: 'apple',
  display: function () {
    console.log(this.name); // 객체 내에서 자신의 속성에 접근할때는 this를 붙여줘야 함.
  },
};

Reference

자바스크립트 마스터리 (ES6+ 최신 문법)

0개의 댓글