자바스크립트에서 프로토타입이란?

1645 단어
PropTypes: JavaScript에서 프로토타입은 JavaScript 객체가 서로 속성이나 기능을 상속하는 기술입니다. JavaScript는 프로토타입 기반 언어라고도 합니다. 객체에는 다른 프로토타입 객체가 있는 프로토타입 객체가 있으므로 프로토타입이 없을 때까지 계속됩니다. 이러한 특성을 프로토타입 체인이라고 합니다.
예를 들어:

function Person(first, last, age, gender, designation,skills) {

  // property and method definitions
  this.name = {
    'first': first,
    'last' : last
  };
  this.age = age;
  this.gender = gender;
  This.designation = designation;
  //...see link in summary above for full definition
}


다음과 같은 개체 인스턴스를 만들었습니다.

let person1 = new Person('Asraful’, 'Islam', 28, 'male', ‘Developer’,['React, Javascript']);




이미지에서 person1이라고 쓰면 알 수 있습니다. Person 개체에서 선언한 것보다 더 많은 속성이 있음을 알 수 있습니다. 여기서 first, last, age, 성별, 명칭, 기술은 Person의 프로토타입 객체의 상속을 위한 것이고 다른 속성은 Object의 프로토타입 객체의 상속을 위한 것입니다.

프로토타입 체인 이해하기:
person1.age의 값을 확인하려면 단순히 age 28의 결과를 반환합니다. age는 person1의 프로토타입 객체이기 때문입니다. Person1은 개체 Person의 속성을 상속합니다.

하지만 Person 프로토타입 객체에서 직접 상속되지 않는 person1.toString의 결과를 확인하려는 경우. 그러면 어떻게 될까요?
음, 이 경우 먼저 person1 객체의 프로토타입을 확인합니다. 발견되면 간단히 실행하십시오. 이 경우 person1 프로토타입 개체에서 찾을 수 없습니다. 그런 다음 프로토타입 객체의 프로토타입 객체를 확인하여 "toString"속성을 가져옵니다. 그런 다음 결과를 찾아 반환합니다. 이러한 특성을 프로토타입 체인이라고 합니다.

예시:

person1.toString()
// 28

좋은 웹페이지 즐겨찾기