찾다

 >  Q&A  >  본문

javascript - 객체와 함수의 프로토타입 체인 문제

위 내용은 브라우저에서 테스트한 내용입니다. 이 프로토타입 체인을 전혀 이해할 수 없습니다. 설명을 도와줄 수 있는 사람

仅有的幸福仅有的幸福2747일 전522

모든 응답(1)나는 대답할 것이다

  • 滿天的星座

    滿天的星座2017-05-19 10:13:54

    객체는 함수이므로 이름에 현혹되지 않도록 먼저 마음속으로 형태를 완성하세요

    으아아아

    모든 함수(생성자)에는 프로토타입이 있습니다. 프로토타입에는 특별한 것이 없으며 단지 객체일 뿐입니다.

    Object.prototype은 "Object { ... }"를 출력합니다. 이 출력에 현혹되지 말고 Object.prototype 자체라고 생각하세요. 출력의 "Object"는 단순히 Object.prototype의 값이 "Object" 유형의 개체임을 의미합니다.

    하지만 동시에 JS의 함수 자체도 객체이기 때문에 Object는 함수일 뿐만 아니라 객체이기도 합니다. 모든 개체는 프로토타입을 기반으로 "구성"(초기화)됩니다.

    객체는 언제 객체로 구성되나요?

    A: 정의된 내용은 다음과 같습니다.

    으아아아

    이때 JS 런타임은 function(){ [네이티브 코드] }를 프로토타입으로 하여 Object의 함수 "객체"(인스턴스)를 구성합니다.

    () { [네이티브 코드] } 함수는 무엇인가요? JS의 모든 기능의 조상입니다.

    Object.__proto__.__proto__는 이 조상 함수의 프로토타입인데 어떻게 프로토타입을 가질 수 있나요? 함수의 조상이지만 "객체"의 조상은 아니라는 점을 기억하세요. 객체의 조상은 이 "Object {__defineGetter__: ...}"입니다.

    다시 물으셨는데요, 객체가 생성되기 때문에 조상 객체도 생성되어야 하는 것이겠죠? 조상 객체는 모든 것의 근원이며 JS의 언어 디자이너에 의해 정의되며 개념 체계의 출발점입니다.

    하지만 봤어

    으아아아

    조상 객체가 명확하게 구성되지 않았나요? 그리고 그것은 Object로 구성됩니까?

    이것은 JS 언어 디자이너가 개념적 일관성을 위해 상위 개체의 생성자를 Object로 지정한 것입니다.

    이전의 조상 개체는 무엇이었나요?

    으아아아

    타오는 한 마리를 낳고, 두 마리를 낳습니다.
    도는 무(無)이다.

    itlr.cc

    회신하다
    0
  • 취소회신하다