반응형

바인딩 2

[JavaScript] 스터디 4일차_ this (2) call, apply, bind

1. call 메서드 메서드의 호출 주체인 함수를 즉시 실행하도록 하는 명령 - call 의 첫번째 인자를 this로 바인딩 - 그냥 실행하면 this === 전역객체 but call 메서드를 사용하면 임의의 객체를 this로 지정 가능 Function.prototype.call(thisArg[, arg1[, arg2[, ...]]]) //원래는 함수호출로 window {...} 출력이나 첫번째 인자로 this에 {x:1} 전달 var func = function (a,b,c) { console.log(this,a,b,c); }; func(1,2,3) //window {...} 1 2 3 func.call( {x:1}, 4,5,6); // {x:1} 4 5 6 출력 객체의 메서드 를 call 메서드로 호..

[JavaScript] 스터디 3일차_ this (1)

this = 함수를 호출 할 때 결정되는(실행 컨텍스트가 생성될 때) 것 = 호출한 놈!! "나" 라는 단어를 부르는 사람에 따라 의미가 달라지듯이, this 는 아래의 "나"와 같은 역할을 한다. 1. 전역공간에서의 this ⭐ 전역공간에서의 this === window 전역변수를 선언하면 자바스크립트 엔진은 이를 전역객체의 프로퍼티로 할당한다. 자바스크립트의 모든 변수는 특정 객체의 프로퍼티로서 동작. 실행 컨텍스트는 변수를 수집해서 LexicalEnvironment(LE) 에 저장하고, 어떤 변수를 호출하면 LE를 조회해서 일치하는 프로퍼티가 있을 경우 반환함. 전역컨텍스트의 경우 LE는 전역객체를 그대로 참조. var a = 1; console.log(a); // 1 출력 console.log(w..