목록코어 자바스크립트 스터디 (11)
개발일지
5강 클로저클로저의 의미 및 원리 이해클로저는 여러 함수형 프로그래밍 언어에서 등장하는 보편적인 특성이다.클로저란, 어떤 함수 A에서 선언한 변수를 참조하는 내부함수에서만 발생하는 현상"A closure is the combination of a function and the lexical environment within which thatfunction was declared" - MDN// 클로저는 함수와 그 함수가 선언될 당시의 lexical environment'의 상호관계에 따른 현상즉, 어떤 컨텍스트 A에서 선언한 내부 함수 B의 실행 컨텍스트가 활성화된 시점에는 B의 outerEnvironmentReference가 참조하는 대상인 A의 LexicalEnvironment에도 접근 가능합니다..
3강 thisthis란?this란 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수입니다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있습니다.var daySix = function () { this.name = "김원필"; this.age = function () { console.log("20살"); };};그렇다면 this가 가리키는 값은 어떻게 결정될까요?javascript에서 this의 값은 결정되어 있지 않고, 문맥에 따라 바인딩되는 객체가 변합니다.this가 특정 객체에 연결되는 것을 바인딩이라고하는데, 함수를 호출하는 방식에 따라 바인딩 객체가 달라집니다.전역 공간에서의 this전역 공간에서 this는 전..
4장 콜백 함수콜백 함수는 다른 코드의 인자로 넘겨주는 함수입니다. callback은 '부르다', '호출하다'라는 의미인 call과, '뒤돌아오다'라는 의미인 back의 합성어로, '되돌아 호출해 달라'는 명령입니다. 어떤 함수 X를 호출하면서 '특정 조건일 때 함수 Y를 실행해서 나에게 알려달라'는 요청을 함께 보내는 것입니다. 이 요청을 받은 X의 입장에서는 해당 조간이 갖춰졌는지 여부를 스스로 판단하고 Y를 직접 호출합니다.2. 제어권4-2-1 호출 시점콜백 함수 예제(1-1)var count = 0;var cbFunc = function () { console.log(count); if(++count > 4) clearInterval(timer);};var timer = setInterval(..
3강 this자바스크립트에서 가장 혼란스러운 개념을 고르라고 하면 많은 사람들이 this을 꼽을 것입니다. 다른 대부분의 객체지향 언어에서 this는 클래스로 생성한 인스턴스 객체를 의미합니다. 클래스에서만 사용할 수 있기 때문에 혼란의 여지가 없거나 많지 않습니다. 그러나 자바스크립트에서의 this는 어디서든 사용할 수 있습니다. 상황에 따라 this가 바라보는 대상이 달라지는데, 어떤 이유로 그렇게 되는지를 파악하기 힘든 경우도 있고 예상과 다르게 엉뚱한 대상을 바라보는 경우도 있습니다. 이런 경우에 문제를 해결하려면 원인을 추적해서 수정해야 하는데, 정확한 작동 방식을 이해하지 못하면 원인을 파악해서 해결할 수 없습니다. 함수와 객체의 구분이 느슨한 자바스크립트에서 this는 실질적으로 이 둘을 구..