[Javascript]

[Javascript] prototype 관련 Note

개발잘하고싶음 2023. 3. 15. 00:33

1-1) Javascript에서 기본 데이터 타입인 boolean, number, string 그리고 특별한 값인 null, undefined 빼고는 모든 것이 객체이다. 사용자가 정의한 함수도 객체이고, new란 연산자를 통해 생성된 것도 객체이다. 객체 안엔 proto 속성이 있다. 이 속성은 객체의 원형인 프로토타입 객체를 참조하는 역할을 한다.

 

1-2) 객체가 만들어지기 위해서는 자신을 만드는데 사용된 원형인 프로토타입 객체를 이용하여 객체를 만든다.

 

2) 프로토타입 객체에 getType()이라는 함수를 추가하면 멤버를 추가하기 전에 생성된 객체에서도 추가된 함수를 사용할 수 있다. 같은 프로토타입을 이용하여 생성된 joon과 jisoo 객체는 getType()을 사용할 수 있다.

 

3) 단, 프로토타입 객체에 멤버를 추가,수정,삭제할 때는 함수 안의 prototype 속성을 사용해야 한다.

 

4) 생성된 객체를 이용해 프로토타입 객체의 멤버를 수정하면 프로토타입 객체에 있는 멤버를 수정하는 것이 아니라 자신의 객체에 멤버를 추가하는 것이다. joon 객체를 사용하여 getType()을 호출하면 프로토타입 객체의 getType()을 호출하는 것이 아니라 joon 객체에 추가된 getType()을 호출한다. 

 

5)상기 Note 관련 URL

 

JavaScript : 프로토타입(prototype) 이해

JavaScript는 클래스라는 개념이 없습니다. 그래서 기존의 객체를 복사하여(cloning) 새로운 객체를 생성하는 프로토타입 기반의 언어입니다. 프로토타입 기반 언어는 객체 원형인 프로토타입을 이

www.nextree.co.kr