[NodeJS] this binding

Onam Kwon·2023년 4월 8일
0

Node JS

목록 보기
21/25

this binding

  • 아래는 this 의 개념을 설명하는 몇가지 예시 입니다.

example 1

console.log(this); // logs the global object (window in a browser, global in Node.js)
  • 위의 예시에서 thisglobal object 를 가리킵니다. 전역 범위에서 실행되었기 때문입니다.

example 2

function sayHello() {
  console.log(this);
}

sayHello(); // logs the global object (window in a browser, global in Node.js)
  • 위의 예시 또한 thisglobal object 를 가리킵니다. sayHello 함수가 명시적인 바인딩이 없이 호출되었기 때문입니다.

example 3

const person = {
  name: "John",
  greet: function() {
    console.log(`Hello, my name is ${this.name}`);
  }
}

person.greet(); // logs "Hello, my name is John"
  • 위의 예시에서 thisperson 객체를 나타냅니다. greet 함수가 person 객체의 메소드 이기 때문입니다.

example 4

function Person(name, age) {
  this.name = name;
  this.age = age;
}

const john = new Person("John", 30);
console.log(john.name); // logs "John"
  • 위의 예시에서 thisnew 키워드로 만들어진 새로운 객체를 나타내며 이는 John30 으로 초기화 됩니다.

example 5

const button = document.querySelector("button");

button.addEventListener("click", function() {
  console.log(this); // logs the button element
});
  • 위의 예시에서 this 는 DOM element 를 나타내며 이 경우는 button element 를 나타냅니다.
profile
권오남 / Onam Kwon

0개의 댓글