본문 바로가기

Front End

[JavaScript] this

반응형

this

메소드를 호출한 객체가 저장되어 있는 속성

1. 일반 함수에서 this -> 전역 객체인 window

2. 중첩 함수에서 this -> window

3. 이벤트에서 this -> 이벤트 객체

4. 메소드에서 this -> 메소드 객체

5. 메소드 내부의 중첩 함수에서 this -> window

 


var value = 0
var obj = {
  value: 1,
  setValue: function () {
    this.value = 2;     // this -> obj
    (function () {      // 객체가 아닌 익명 함수
      this.value = 3    // this -> window => window.value (전역 value) = 3
    })();
  }
}
obj.setValue()
console.log(value)      // 3
console.log(obj.value)  // 2

 

 

 

 

call

fun.call([thisObj[, arg[, arg2[, ...]]]])


un.call([thisObj[, arg[, arg2[, ...]]]])

- 호출하는데 사용됩니다. 이 메서드를 사용하여 함수의 this 객체를 원래 컨텍스트에서 thisObj로 지정된 새객체로 변경할 수 있습니다.
- argument

  • fun 가져다쓸 메소드
  • thisObj (optional) 현재 객체로 사용될 객체
  • arg1, arg2, argN (optional) 메소드에 전달될 인수 목록

apply


fun.apply([thisObj[,argArray]])

- call 메소드와 동일 하나, call 메소드는 인자 하나 하나를, apply는 인자 리스트를 전달합니다.
- argument 

  • fun 가져다쓸 메소드
  • thisObj (optional) 현재 객체로 사용될 객체
  • argArray 함수에 전달될 인수 집합

 

반응형

'Front End' 카테고리의 다른 글

[JavaScript] enhanced object  (0) 2019.10.27
[JavaScript] template tag function  (0) 2019.10.21
[JavaScript] forEach, map, reduce  (0) 2019.10.20
Template literal  (0) 2019.10.19
[JavaScript] Block Scope  (0) 2019.10.12