[Javascript ] 프로토타입 이해하기

Prototype vs Class

어디다 쓰나요?

넌 이미 알고있다

function Person() {
this.eyes = 2;
this.nose = 1;
}
var kim = new Person();
var park = new Person();
console.log(kim.eyes); // => 2
console.log(kim.nose); // => 1
console.log(park.eyes); // => 2
console.log(park.nose); // => 1
function Person() {}Person.prototype.eyes = 2;
Person.prototype.nose = 1;
var kim = new Person();
var park = new Person():
console.log(kim.eyes); // => 2
...

Prototype Link와 Prototype Object

Prototype Object

function Person() {} // => 함수var personObject = new Person(); // => 함수로 객체를 생성
var obj = {};
var obj = new Object();
Object도 함수다!
constructor가 아니면 new를 사용할 수 없다!
함수를 정의하면 이렇게 됩니다
prototype 속성으로 Prototype Object에 접근
function Person() {}Person.prototype.eyes = 2;
Person.prototype.nose = 1;
var kim = new Person();
var park = new Person():
console.log(kim.eyes); // => 2
...
Person.prototype 객체에 eyes와 nose 속성이 추가되었다!

Prototype Link

kim 객체는 eyes가 없는데 ??
드디어 __proto__를 공개합니다
객체, 함수, Prototype Object의 관계
프로토타입 체인, 최상위는 Object
Object속성인 toString함수를 kim도 사용가능

--

--

--

깃헙 블로그 : https://bluesh55.github.io/

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
오승환

오승환

깃헙 블로그 : https://bluesh55.github.io/

More from Medium

Event Loop in JavaScript

Context in Javascript an

Generate a Random Number in Javascript

JS| How to use Promise.all to handle thousands of request