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. JS 객체의 생성 저장 접근
  4. JS 클래스
  5. 프로토타입 객체
  6. 프라미스 객체
  7. 일급 객체
  8. 래퍼 객체
  9. 콘솔 객체
  10. this 참조
  11. 이터레이터,제너레이터

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 키워드

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. JS 객체의 생성 저장 접근 4. JS 클래스 5. 프로토타입 객체 6. 프라미스 객체 7. 일급 객체 8. 래퍼 객체 9. 콘솔 객체 10. this 참조 11. 이터레이터,제너레이터

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