JavaScript의 Prototype

전영호·2021년 2월 26일
0

JavaScript(이하 자바스크립트)는 Prototype(이하 프로토타입) 기반 언어라고 불린다.
자바스크립트 개발을 하면 빠질 수 없는 것이 프로토타입인데. 사실 자바스크립트 그 자체이다.

MDN에서 Array에 대한 내용을 보면 아래와 같은 내용을 볼 수 있다.

사용할 수 있는 함수 앞에 Prototype이 붙는걸 알 수 있다.

Prototype과 Class

Class는 객체 지향 언어에서 빠질 수 없는 개념이다. Class 기반이 있고 Prototype기반이 있는데 자바스크립트는 프로토타입기반의 언어이다.
ECMA6 표준에서 Class문법을 사용할 수 있게 추가 되었지만 Class 기반으로 바뀌었다는 말은 아니다.

자바스크립트는 모든 것들을 객체에 기반을 두고 있다.
프로토타입이라는 표현법을 사용하는데. 이는 원형이라는 뜻이다. 이를 객체 지향 프로그래밍의 개념으로 설명하자면. 기존의 객체를 복사(Cloning)하여 새로운 객체를 생성한다고 할 수 있다.

프로토타입은 객체를 확장하고 객체 지향적 프로그래밍을 할 수 있게 해준다.

Prototype이란?

자바스크립트에서 기본 데이터 타입을 제외한 모든 것이 객체라는 것은 위에서 이미 서술했다.
객체가 만들어 지기 위해서는 자신을 만드는데 사용된 원형 객체인 프로토타입 객체를 이용하는데. 이때 만들어진 객체 안 __proto__(비표준)속성에 자신을 만들어낸 원형의 참조하는 숨겨진 링크가 있다.
이 숨겨진 링크를 프로토타입이라고 정의한다.

profile
인생 1회차 주니어 개발자

0개의 댓글