자바스크립트는 프로토타입 기반 oop이기 때문에 상속이 존재하지 않는다. 하지만, 다른 언어들이 클래스 기반인 경우가 많아서 ES6(ES 2015)에 와서야 class 문법이 추가되었다. +참고로 es5가 2009 es5.1이 2011 그 이후는 2015부터 2021까지 6, 7, 8, 9, 10, 11, 12까지 나왔다. 1.클래스와 인스턴스의 개념 이해 1.1 클래스 기반의 분류 개념 - class는 분류를 위한 개념이다. 상위클래스에서 하위클래스로 간다.(음식 -> 과일 -> 귤류 등). 클래스로 생성된 실제 개체는 instance라고 한다. - 현실세계에서는 개체들이 이미 존재하는 상태에서 이들을 구분 짓기위해서 클래스가 존재한다. 클래스보다 실존 개체가 먼저인 것이다. 예를 들어 '나'를 분류하..

6.1 프로토타입의 개념 이해 자바스크립트는 프로토타입 기반 객체지향언어이다. 클래스 기반 언어에서는 상속을 사용하지만, 프로토 타입 기반언어에서는 어떤 객체를 원형(prototype)으로 삼고 이를 으로써 상속과 비슷한 효과를 얻는다. 6.1.1 constructor, prototype, instance var instance = new Constructor(); intance의 __proto__(dunder proto)라는 프로퍼티는 자동으로 Constructor.prototype을 참조한다. prototype 객체 내부에는 인스턴스가 사용할 메서드들이 저장되어있다.(length()같은 것들..) instace의 메서드를 사용하는 것은 constructor에 있는 메서드를 참조해서 사용하는 것이다. ..
1. 클로저란? 1.1 클로저 정의 - 클로저 : 함수와 그 함수가 선언될 당시(outer Environment reference)의 lexical environment의 상호관계에 따른 현상(MDN) 즉, inner function에서 outer function의 lexical에 접근하는 경우에 대한 현상이다. - 사전적 의미: 닫혀있음, 폐쇄, 완결 등의 의미이다. - 함수형 프로그래밍에서 보편적으로 나타난다. 그래서 ecma 명세에도 클로저를 따로 다루지 않는다. - 컨텍스트 A에서 선언한 내부함수 B의 실행컨텍스트가 활성화될 때, A는 B의 lexical에 접근할 수 없지만, B는 A의 lexical에 접근 가능하다. - 선언시 만들어지는 유효범위가 사라진 후에도 호출을 할 수 있는 함수. 1.2..
01 콜백함수란? 다른 코드의 인자로 넘겨주는 함수를 말한다. 함수를 받은 코드는 적절한 시기에 알아서 그 콜백 함수를 실행한다. 동작원리 - 콜백함수는 어떤함수 Y를 다른 코드X에게 인자를 넘겨주고 제어권도 같이 넘겨준다. 그리고 Y가 X에 의해 실행이 되면 자기한테 알려달라고 한다. 02 제어권 호출 시점 - 제어권을 넘겨받은 함수는 그 함수의 호출 시점에 대한 제어권도 가진다. +setInterval은 window, worker 객체 둘다 가지고 있다. +setInterval의 경우 인자로 func와 delay를 필수 인자로 받는데, func로 넘겨준 함수는 매 delay마다 실행되게 된다. 그리고 매 반복마다 특정 ID를 부여해서 그 회차를 특정할 수 있다. 인자 - 콜백 함수를 넘겨받을 함수를 ..