【发布时间】:2020-10-08 19:55:07
【问题描述】:
我是 Javascript 的新手,所以如果这有一个微不足道的答案,我们深表歉意。
根据 ECMAScript 语言规范,如果 val 的返回类型为 Object (implements [[Call]]),则结果为字符串“function”。我不明白的是为什么在下面的代码中,新创建的对象的类型不是“函数”:
function FunctionCreator(){}
FunctionCreator.prototype = Function.prototype;
let obj = new FunctionCreator();
console.log(typeof obj); // object
console.log(obj.call); // ƒ call() { [native code] }
[[Call]] 方法在 Function.prototype 中定义,我相信它是为普通函数定义的,但 typeof 返回对象。
【问题讨论】:
标签: javascript types typeof