>웹 프론트엔드 >JS 튜토리얼 >Node.js 모듈과 함수에서 'this' 키워드는 어떻게 작동하나요?

Node.js 모듈과 함수에서 'this' 키워드는 어떻게 작동하나요?

Linda Hamilton
Linda Hamilton원래의
2024-12-06 06:03:10784검색

How Does the `this` Keyword Behave in Node.js Modules and Functions?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.