함수에서 "this" 키워드의 역학 공개
JavaScript 영역에서 "this" 키워드는 거래 시 매우 중요합니다. 기능으로. 해당 값은 사용된 호출 패턴에 따라 다릅니다.
호출 패턴
JavaScript 함수는 네 가지 고유한 방법으로 호출할 수 있습니다.
메서드:
함수가 다음과 같이 호출될 때 객체의 메소드, "this"는 객체 자체를 나타냅니다. 예:
const foo = { bar() { console.log(this); // Logs "foo" } }; foo.bar();
함수로:
함수가 독립 실행형 엔터티로 호출되면 "this"는 기본값으로 전역 개체(일반적으로 브라우저의 "창"). 예:
function bar() { console.log(this); // Logs "Window" (global object) } bar();
생성자로서("new" 키워드 사용):
함수가 "new" 키워드로 호출되면, 새로운 객체가 생성되고 "this"는 해당 객체를 나타냅니다. 예:
function Constructor() { this.property = "value"; } const instance = new Constructor(); console.log(instance.property); // Logs "value"
"apply" 메서드 사용:
"apply" 메서드를 사용하면 다음을 전달하여 "this" 값을 사용자 정의할 수 있습니다. 물체. 예:
function bar(a, b) { console.log(this); // Logs "obj" console.log(a); // Logs "1" console.log(b); // Logs "2" } const obj = { a: 1, b: 2 }; bar.apply(obj);
중첩 함수 및 콜백에 대한 의미
중첩 함수 및 콜백에서 상위 함수의 호출 패턴에 따라 중첩된 함수의 "this" 값입니다. 상위 함수가 메소드로 호출되는 경우 "this"는 객체를 참조합니다. 함수로 호출되면 전역 개체를 참조합니다. 콜백에서 "this"의 원하는 값을 유지하기 위해 함수 바인딩 또는 화살표 함수 사용과 같은 기술이 사용됩니다.
위 내용은 JavaScript `this` 키워드는 다양한 함수 호출 컨텍스트에서 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!