prototype vs __proto__

지환·2024년 6월 6일
0

자바스크립트

목록 보기
12/30

함수는 자바스크립트에서 객체이다.

function Person(name, first, second){
	this.name = name;
  	this.first = first;
  	this.second = second;
}
  • Person 객체가 생성된다.

  • Person`s Prototype이 생성된다.

  • constructor를 만들고 서로가 상호참조를 한다.

Person.prototype.sum = function(){}

var kim = new Person('kim', 10,20);

이렇게 객체가 생성됨.

kim.__proto__으로도 접근 할 수 있음

var lee = new Person('lee', 10,10);
console.log(kim.name);

  • name값이 있다면 출력함.

    • 만약에 name이 없다면?
    • __proto__에 name이 있는지 없는지 찾아봄.
  • kim.sum()으로 한 번 더 선언한다면?

  • kim에는 sum이 없어서 Person`s prototype에 접근해서 sum를 사용함

profile
아는만큼보인다.

0개의 댓글