[JS] 메서드(Method)

임찬혁·2023년 2월 9일
2

JavaScript

목록 보기
3/5
post-thumbnail

객체(Object) 는 실제로 존재하는 모델을 표현하고자 할 때 관련된 속성을 포함해 생성합니다.

const toy = {
  type: 'robot',
  price: '$30',
};

하지만 객체 로 구현한 모델들은 속성만 가지고 있는 것이 아니라 특정한 동작들을 수행하는 경우도 많습니다. 이런 동작들은 메서드(Method) 라고 불리는 함수로 정의할 수 있는데, 이번 포스트에서는 이 메서드 에 대해서 알아보겠습니다.

메서드 만들기

메서드객체프로퍼티 를 만드는 것과 같은 방식으로 만들 수 있는데, 에 함수를 넣어준다고 생각하면 됩니다. 객체 를 생성할 떄 포함해서 만들거나, . 연산자를 통해 만듭니다.
function , 화살표 함수(Arrow Function) 둘 다 가능합니다.

function 으로 만드는 방식과 화살표 함수 로 만드는 방식은 this 의 값에서 차이가 있지만 지금은 넘어가겠습니다.

const toy = {
  type: 'robot',
  price: '$30',
  move: function() {
    alert('move');
  },
};
// or
const toy = {
  type: 'robot',
  price: '$30',
  move: () => {
    alert('move');
  },
};
const toy = {
  type: 'robot',
  price: '$30',
};

toy.move = function() {
	alert('move');
}
// or
toy.move = () => {
	alert('move');
};

메서드 실행하기

프로퍼티 의 값을 읽는 방식과 마찬가지로 . 연산자를 통해 메서드를 실행할 수 있습니다.

const toy = {
  type: 'robot',
  price: '$30',
  move: function() {
    alert('move');
  },
};

toy.move();

메서드 삭제하기

프로퍼티 를 삭제하는 방식과 마찬가지로 delete 를 사용해서 메서드 를 삭제할 수 있습니다.

const toy = {
  type: 'robot',
  price: '$30',
  move: function() {
    alert('move');
  },
};

delete toy.move;

toy.move();  // Uncaught TypeError: toy.move is not a function
profile
개발새발자

0개의 댓글