this 참조, this 키워드

(2019-04-27)

this, this 바인딩, call(), apply(), bind()

Top > [기술공통]
[기초과학]
[진동/파동]
[방송/멀티미디어/정보이론]
[전기전자공학]
[통신/네트워킹]
[정보기술(IT)]
[공업일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
프로그래밍 >   1. 프로그램, 프로그래밍
  2. 프로그래밍 기법
[프로그래밍 언어론]
[구조적 프로그래밍]
[객체지향 프로그래밍]
[자료표현코드]
[자료구조]
[알고리즘]
[시스템 소프트웨어]
[프로그래밍언어 종류]
[프로그래밍 기타일반]
프로그래밍언어 종류 >   1. 프로그래밍 언어
[C]
[C++]
[자바(Java)]
[자바스크립트]
[PHP]
[파이썬]
[(기타 언어)]
자바스크립트 >   1. JavaScript
  2. JS 기초 문법
[JS 변수,타입]
[JS 연산자]
[JS 함수]
[JS 객체]
[JS 배열/Map/Set]
[JS 활용]
[JS 웹문서 제어]
JS 함수   1. JS 함수
  2. JS 함수 종류
  3. Function 객체
  4. JS 함수 인수
  5. 실행 컨텍스트
  6. 클로저
  7. 화살표 함수,중첩 함수
  8. this 키워드

Top > [기술공통]
[기초과학]
[진동/파동]
[방송/멀티미디어/정보이론]
[전기전자공학]
[통신/네트워킹]
[정보기술(IT)]
[공업일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
프로그래밍 >   1. 프로그램, 프로그래밍
  2. 프로그래밍 기법
[프로그래밍 언어론]
[구조적 프로그래밍]
[객체지향 프로그래밍]
[자료표현코드]
[자료구조]
[알고리즘]
[시스템 소프트웨어]
[프로그래밍언어 종류]
[프로그래밍 기타일반]
프로그래밍언어 종류 >   1. 프로그래밍 언어
[C]
[C++]
[자바(Java)]
[자바스크립트]
[PHP]
[파이썬]
[(기타 언어)]
자바스크립트 >   1. JavaScript
  2. JS 기초 문법
[JS 변수,타입]
[JS 연산자]
[JS 함수]
[JS 객체]
[JS 배열/Map/Set]
[JS 활용]
[JS 웹문서 제어]
JS 객체   1. JS 객체
  2. JS 객체 구분
  3. JS 객체의 생성 저장 접근
  4. JS 클래스
  5. 프로토타입 객체
  6. 프라미스 객체
  7. 일급 객체
  8. 래퍼 객체
  9. 콘솔 객체
  10. this 참조
  11. 이터레이터,제너레이터

1. this 참조함수가 호출될 때, 그 함수가 속해 있던 객체의 참조
     - `호출하는 장소` 또는 `호출하는 방법(문맥)`에 따라 그 내용이 바뀌는 변수


2. [자바스크립트]  this가 가리키는 객체 例)

  ㅇ 최상위레벨 (함수의 바깥에 있는 this) => 전역 객체함수 (함수의 내부에 있는 this) => 전역 객체이벤트 처리기 내 this => 이벤트가 발생한 요소 객체생성자 내 this => 그 생성자로 생성한 객체메소드 내 this => 해당 메소드를 호출한 객체(= 리시버 객체)
  ㅇ call/apply 메소드 => 인수로 지정된 객체로 명시적으로 가리키게 함


3. [자바스크립트]  명시적인 this 바인딩

  ㅇ apply 메소드, call 메소드, bind 메소드를 통해. this 바인딩을 명시적으로 지정 가능

  ㅇ call()/apply() 메소드
     - this 값과 함수매개변수를 이용하여, 함수를 실행하는 메소드
     - 구문형식 
        . func.call(that [,arg1 [,arg2 [,...]]])  : (매개변수 열거 형태)
        . func.apply(that [,arg_arr])             : (매개변수 배열 형태)
           .. func : 실행 함수 객체
           .. that : 위 func 함수 내 this 키워드가 가리키는 것 (객체 등)
           .. arg1,arg2, ... : 위 func 함수에 전달될 매개변수들
           .. 한편, 매개변수null을 전달하면, 전역 객체가 건네진 것으로 간주됨
           .. arg_arr : 위 func 함수에 전달될 매개변수 배열

  ㅇ bind() 메소드
     - this 값과 함수매개변수를 이용하여, 객체함수를 바인드하는 메소드
     - 구문형식 : func.bind(that, [,arg1 [,arg2 [,...]]]) 
        . func : 바인딩 함수
        . that : func 내 this 키워드매개변수로 넘겨진 객체 that을 가리킴
        . arg1,arg2, ... : 함수에 전달될 매개변수들
     - 반환값 : 전달된 객체 that을 함수 내 this 키워드로 설정시키고,
                뒤이은 매개변수들 arg1,arg2, ...을 적용시킨,
                새로운 함수(func의 복제본)를 만들어 반환함


[JS 함수] 1. JS 함수 2. JS 함수 종류 3. Function 객체 4. JS 함수 인수 5. 실행 컨텍스트 6. 클로저 7. 화살표 함수,중첩 함수 8. this 키워드
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
          2. 프로그래밍 기법
      1.   프로그래밍 언어론
      2.   구조적 프로그래밍
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
        2.   C++
        3.   자바(Java)
        4.   자바스크립트
              1. JavaScript
              2. JS 기초 문법
          1.   JS 변수,타입
          2.   JS 연산자
          3.   JS 함수
            1.   1. JS 함수
                2. JS 함수 종류
                3. Function 객체
                4. JS 함수 인수
                5. 실행 컨텍스트
                6. 클로저
                7. 화살표 함수,중첩 함수
                8. this 키워드
          4.   JS 객체
          5.   JS 배열/Map/Set
          6.   JS 활용
          7.   JS 웹문서 제어
        5.   PHP
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌