노드에서이 예제에서는 어떻게 정의되지 않습니까?노드에서이 내부 함수는 정의되지 않음
엄격 모드를 사용하지 않기 때문에 함수 내부에서 전역 개체에 액세스 할 수 있어야합니다.
this.foo = "bar";
function fun() {
console.log(this.foo);
}
fun(); // undefined
노드에서이 예제에서는 어떻게 정의되지 않습니까?노드에서이 내부 함수는 정의되지 않음
엄격 모드를 사용하지 않기 때문에 함수 내부에서 전역 개체에 액세스 할 수 있어야합니다.
this.foo = "bar";
function fun() {
console.log(this.foo);
}
fun(); // undefined
MDN의 약 "use strict"
모드를 참조하십시오.
우선 엄격 모드의 함수에
this
으로 전달 된 값은 강제로 개체가 아니어도됩니다 (예 : "박스형"). 일반 함수의 경우this
은 항상 객체입니다. 객체 값이this
인 경우 제공된 객체 또는 부울, 문자열 또는 숫자로 호출 된 경우 boxed 값this
; 또는 엄격 모드 기능을 위해 ... 정의되지 않은 또는 nullthis
호출하면 전역 객체는, 지정된this
은 객체로 박스되지 않으며, 지정되지 않은 경우,this
은 정의되지 않습니다 : 가장 좋은 설명은
예로는, 기준 참조 : "Securing" JavaScript (MDN)
은 또한 유래이 포스트 참조 : In node.js, how the 'use strict' statement is interpreted?
@Mohammad 노드에 그것 – Lev
않는 글로벌 오브젝트'global'을 사용하여 수득된다. –