분류 전체보기44 즉시실행함수, Closure 자동으로 함수를 실행 즉시 실행 함수 표현(IIFE) 임 (function(){ //dosomething })(); 위와 같이 사용할 수 있다. 클로저 var outFoo = function(){ var x = 'access'; return function inFoo(){ return x; } } var foo = outfoo(); console.log(foo()); // access 안쪽에 있는 함수가 x를 바깥쪽 함수에 접근한다. 중첩된 함수는 외부 범위에서 선언한 변수에도 접근 가능하다. 2019. 12. 24. this의 참조 실행 콘텍스트의 this 바인딩 컴포넌트에 바인딩되어 객체를 참조 console.log(foo() === window.foo()); //true 기본적으로 this는 전역 객체를 참조한다. 만약 어떠한 객체를 참조하고 있다면 this는 그 객체를 참조하게 된다. function foo(){ console.log(this); } foo()// window const obj = { foo: foo }; obj.foo() // obj 또한 this는 객체 속성의 내부함수로 this가 있다면 그 this는 window를 가리키게 된다. 콜백 함수의 this도 window 객체를 가리킨다. 내부 함수 const obj = { foo: function(){ console.log(this); // obj functi.. 2019. 12. 24. prototype 자바스크립트는 prototype 기반 언어라고 한다. 내가 공부한 것은 prototype을 통해 object 객체를 복사해서 새로운 객체를 생성하고 그 객체는 다른 어떤 객체의 원형이 되어 prototype으로 접근할 수 있다는 것이다. 일단 예를 들어보자 var Foo = function(){}; 위와 같이 Foo라는 새로운 object를 정의하면 동시에 Foo Prototype Object 생성된다. 그렇게 되면 여기서 new를 통해 생성된 객체는 Foo의 prototype을 사용할 수 있게 된다. var Foo = function(){}; var foo = new Foo(); 아래와 같은 결과를 확인할 수 있다 __proto__때문에 객체의 prototype과 연결되는 연결고리가 되어 사용할 수 있.. 2019. 12. 23. Execution Context var point = 100; var Foo =function(){ this.point = 1; this.setPoint = function(point){ this.point = point }; this.getPoint = function(){ // return this.point; return point; }; } console.log(foo.getPoint()) // 100 출력 생성시점은 실행 가능한 코드를 만났을 때이다. 상태 컴포넌트의 3가지 유형 1. 정적 환경 컴포넌트 2. 변수 환경 컴포넌트 3. this 바인딩 컴포넌트 정적 환경 컴포넌트는 실행 컨택스트에서 함수 안의 함수와 변수들을 기록한 것이다. 변수 환경 컴포넌트는 초기값 복원을 할 때 사용하는 것으로 정적 환경 변수와 같은 레벨로.. 2019. 12. 23. 이전 1 ··· 7 8 9 10 11 다음