*this는 함수를 호출할 때 결정된다
<브라우저 환경 this 확인>
console.log(this); console.log(window); console.log(this === window);
<node 환경 this 확인>
console.log(this); console.log(global); console.log(this === global);
함수&메서드
예시) // CASE1 : 함수 // 호출 주체를 명시할 수 없기 때문에 this는 전역 객체를 의미해요. var func = function (x) { console.log(this, x); }; func(1); // Window { ... } 1 // CASE2 : 메서드 // 호출 주체를 명시할 수 있기 때문에 this는 해당 객체(obj)를 의미해요. // obj는 곧 { method: f }를 의미하죠? var obj = { method: func, }; obj.method(2); // { method: f } 2
다른 코드의 인자로 넘겨주는 함수이다. 인자로 넘겨준다는 얘기는 콜백함수를 넘겨받는
코드가 있다 (forEach , setTimeout 등..)
콜백 함수를 넘겨받은 위와 같은 코드 forEach , setTimeout 등은 이 콜백 함수를 필요에
따라 적절한 시점에 실행하게 된다(제어권 forEach , setTimeout에 있음)