-
This 의 개념웹 개발 Web Development/Javascript 2020. 6. 6. 16:04
THIS
Javascript에서 This란, 어떤 공간에서 정의, 호출되느냐에 따라 다르게 추론한다.
컨텍스트가 생성 될 때, 그 환경에 따라 그 값이 다르게 정의된다.
전역 공간 window, global 함수 내부 window, global 호출된 메소드 메소드를 호출한 객체, 함수 Callback 함수 전역 객체 (제어권을 가진 함수를 통해 명시적으로 this 를 바인딩 할 수 있음 ex. call / apply / bind) 생성자 함수 인스턴스 Call / Apply / Bind
자바스크립트에서 함수가 가진 기본 메소드로, 현재 함수 실행환경의 this를 외부 함수의 this로 대체해 사용할 수 있도록 하는 프로퍼티다.
보통의 함수가 호출형태에 따라 this가 달라지는 반면, call,apply,bind메서드는 외부에서 할당하는 첫번째 인자가 그 함수의 this가 된다.
// 큐 배열의 최대값을 구하는 방법 let queue = [1,5,9,10,11] let max = Math.max.apply(null, queue); //Math.max 메서드의 인자에 null을 넣어 this 를 초기화 한다 consol.log(max)
'웹 개발 Web Development > Javascript' 카테고리의 다른 글
실행 컨텍스트 (Context) 의 개념 (0) 2020.06.06 이터러블(Iterable) - 이터레이터 프로토콜과 배열 (0) 2020.05.17 Promise 패턴과 비동기 제어 (with Async - Await) (0) 2020.05.17 깊은 복사 얕은 복사 (Deep and Shallow Copy) (0) 2020.01.21