메서드와 this

임창현·2022년 12월 3일
0

JavaScript

목록 보기
6/6
post-thumbnail

객체

객체는 사용자(user), 주문(order) 등과 같이 실제 존재하는 개체(entity)를 표현하고자 할 때 생성됩니다.

let user = {
  name: "John",
  age: 30
};

사용자는 현실에서 장바구니에서 물건 선택하기, 로그인하기, 로그아웃하기 등의 행동을 합니다. 이와 마찬가지로 사용자를 나타내는 객체 user도 특정한 행동을 할 수 있습니다.

자바스크립트에선 객체의 프로퍼티에 함수를 할당해 객체에게 행동할 수 있는 능력을 부여해줍니다.

메서드

객체 user에게 인사하는 능력 부여

let user = {
  name: "John",
  age: 30
};

user.sayHi = function() {
  alert("안녕하세요!");
};

user.sayHi(); // 안녕하세요!

이렇게 객체 프로퍼티에 할당된 함수를 메서드(method) 라고 부릅니다.
위 예시에선 user에 할당된 sayHi가 메서드입니다.

메서드와 this

메서드는 객체에 저장된 정보에 접근할 수 있어야 제 역할을 할 수 있습니다. 대부분의 메서드가 객체 프로퍼티의 값을 활용합니다.

user.sayHi()의 내부 코드에서 객체 user에 저장된 이름(name)을 이용해 인사말을 만드는 경우가 이런 경우에 속합니다.

메서드 내부에서 this 키워드를 사용하면 객체에 접근할 수 있습니다.
이때 '점 앞’의 this는 메서드를 호출할 때 사용된 객체를 나타내죠.

let user = {
  name: "John",
  age: 30,

  sayHi() {
    // 'this'는 '현재 객체'를 나타냅니다.
    alert(this.name);  //alert(user.name); 과 동일함
  }

};

자바스크립트에서 this는 런타임에 결정됩니다

ref : https://ko.javascript.info/object-methods

profile
Hi there 👋 i'm backend developer

0개의 댓글