라이브러리의 복잡한 기능에 대한 mixin을 만들려고합니다.Object.assign이 Function.prototype과 작동하지 않는 것 같습니다.
const proto = Object.create(Function.prototype);
을하지만 지금은 물체가 기능 프로토 타입 및 프로토 타입 터 경우 모두 상속과 같은 몇 가지 다중 상속을 할 필요가, 그래서 나는이 작업을 수행 할 수 :
이 나를 위해 일하는
const EE = require('events');
const proto = Object.create(Object.assign({}, EE.prototype, Function.prototype));
그러나 예상대로 작동하지 않았습니다.
그래서 나는 시도 그냥이 :
const proto = Object.assign({}, Function.prototype);
하고이 같이 Function.prototype이 복사되지 않은 어떤 이유로, 내 관찰이 정확하다는 것을 보여 주었다? 왜 이럴 수 있니?
Function.prototype은 "호스트 객체"로 간주됩니다. 그래서 브라우저는 그것을 다르게 취급합니다. – vothaison
@vothaison - 왜 Function.prototype이 호스트 객체라고 생각합니까? 그것은 언어가 아니라 환경의 일부입니다. – jfriend00
ftm, 브라우저가 아닌 node.js에 대해서만 말하기 –