![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/lDjTO/btqCTwVxQQq/8bkQlVrriczjetRsRxMrR0/img.jpg)
Prototype 정재남 님의 인프런 강좌, JS FLOW를 참고하였습니다. prototype, constructor, __proto__ prototype, constructor, __proto__ Constructor.prototype 과 instance.proto가 같은 객체를 바라본다. 생성자 함수를 new 연산자를 이용해 instance를 만들면, 그 인스턴스에는 Constructor의 prototype이라는 프로퍼티의 내용이, instance.__proto__로 참조되어 전달된다. 근데 이때 __proto__는 생략이 가능해서, instance가 Constructor의 내용 뿐만 아니라 Constructor.prototype의 내용(메소드 등)을 사용할 수 있다. console.dir([1, 2..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/rQ2Uc/btqCQoj3gib/H9E5sBjYNSMg4vDcc1JJp1/img.jpg)
Closure 정재남 님의 인프런 강좌, JS FLOW를 참고하여 정리하였습니다. 닫힘/폐쇄/완결성. MDN 정의: 함수와 그 함수가 선언될 당시의 lexical environment의 결합. https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Closures 실행 콘텍스트 A와 그 내부에서 선언된 함수 B가 결합되어 만들어내는 무언가라고 할 수있다. 이때 내부함수 B의 입장에서는 environmentRecord(이하 ER)가 아니라 outerEnvironmentReference(이하 OER)만 closure에 관여한다. ER은 함수 B에서만 사용가능하고, OER이 실행콘텍스트와 함수 B 자신의 관계와 관련된 것이다. B의 OER은 A의 ER을 참조한..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bPeOOH/btqCQ305UNn/RNw4orNael4mmv2Lx7DSc0/img.jpg)
Callback Function 정재남 님의 인프런 강좌, JS FLOW를 참고하여 정리했습니다. Call : 호출하다 Back : 돌려주다 Function : 함수 호출해서 어떤 결과를 돌려주는 함수. 어떤 특정 함수 등에 콜백함수의 제어권을 넘긴다. 콜백함수가 넘겨받는 제어권의 종류 1) 실행시점 setInterval(callback, milliseconds) function callback() { console.log("1초마다 실행"); console.log(this) } setInterval(callback, 1000); 2) 인자 Array.prototype.forEach https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Globa..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/xEbQR/btqCUcvD30w/b4KO1SYGOZsxhhQ0FStSOK/img.jpg)
This 정재남 님의 인프런 강좌, JS FLOW를 참고 하여 정리했습니다. This Binding 은 실행 콘텍스트가 활성화 될 때 된다. 실행 콘텍스트는 함수가 호출될 때(스코프) 실행된다. 상황별 this 1) 전역공간 전역 객체 window(브라우저), global(node.js) console.log(this); // window2) 함수 호출 (일반적으로) 전역 객체 함수를 실행할 때, 함수를 호출하는 주체가 전역 공간 function a() { console.log(this); // window } a(); function b() { function c() { console.log(this); // window } c(); } b(); const a = () => { console.log(t..