목록프로그래밍/Javascript (2)
느릿느릿 프로그래밍
| Hidden Class - 클래스 기반 언어가 아닌 JS를 클래스 기반 언어의 메모리 관리 처럼! 할 수 있게 해준다. 자바스크립트는 클래스가 아닌 프로토타입 개념의 언어이다. 다른 개념으로 얘기하자면, JS는 동적 타입 언어이다. 여기서 잠깐, 동적 타입 언어(Dynamically typed languages)란? Javascript, Python과 같이 타입을 써주지 않는 언어를 말한다. 그래서 런타임에 타입이 결정된다. 반대로 정적 타입 언어(Statically typed language)의 경우, 타입을 명시하고 코드를 작성하기 때문에 컴파일 때 변수의 타입이 결정된다. Java, C, C++ 등이 이에 해당한다. 정적 타입 언어들은 컴파일 때 어떤 변수의 메모리 위치를 특정할 수 있고 런타임..
(정보 업데이트 !!) ES6 부터는 JS에서도 Class를 쓸 수 있게 되었다! 이제 JS에서도 Class를 통해 상속이 가능하다! prototype : 원형 자바스크립트는 객체지향언어이지만, 클래스 개념이 없다. 대신 Prototype 이라는 것을 사용한다. 그래서 자바스크립트는 Prototype 기반 언어라고도 불린다. 1. 프로토타입이란? Javascript(이하 JS)에서 객체 생성은 함수를 통해 이루어진다. 그리고 JS에서 생성되는 객체는 전부 Object의 자식인 것이다! 객체 생성의 과정을 보기 전에 일단 JS에서 함수를 정의했을 때 일어나는 일을 살펴보자. 예로 Person 함수를 정의해보자. 우리가 Person 함수를 정의하면, JS에는 함수만 짠! 하고 생기지 않는다. Person 함..