Node.js 모듈 및 함수에서 "this"의 의미
Node.js에서 "this"의 값은 사용되는 맥락에 따라 결정됩니다.
모듈 범위와 기능 범위
-
모듈 범위: Node.js 모듈(require()에 의해 로드됨) 내에서 "this"는 빈 객체인 module.exports를 나타냅니다.
-
함수 범위: 함수 내에서 "this"는 전역 객체(엄격 모드 제외).
함수 호출
- 함수에서 "this"의 값은 함수의 값이 어떻게 결정되는지에 따라 결정됩니다. 호출됩니다.
- 함수(예: aFunction())를 직접 호출하면 "this"가 전역으로 설정됩니다. 엄격하지 않은 모드의 개체입니다.
- 함수를 메서드(예: obj.aFunction())로 호출하면 "this"가 개체 인스턴스로 설정됩니다.
- bind(), call( ) 또는 apply()를 사용하여 함수를 호출하면 "this" 값을 지정할 수 있습니다.
주입된 전역 객체
- Node.js는 전역 객체를 함수 범위의 "this"에 주입합니다.
- 함수는 일반적으로 특정 객체 컨텍스트 없이 호출되기 때문입니다.
- 그러나 "this"는 모듈 래핑 함수(Node.js에서 생성)가 명시적으로 "this"를 module.exports에 할당하기 때문에 모듈 범위에 주입되지 않습니다.
위 내용은 Node.js 모듈과 함수에서 'this' 키워드는 어떻게 작동하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!