当我们说“实例”时,我们假设我们正在处理一个对象。为什么使用 JavaScript 的运算符instanceof
回报true
当我们问(class A { }) instanceof Function
, but typeof (class A { }) == "function"
?为什么不object
?
为什么使用 JavaScript 的运算符instanceof
当我们询问时返回 true(class A { }) instanceof Function
class
es 只是构造函数的语法糖。 IE。的评价class A {}
产生一个函数。
以下两个示例(或多或少)是等效的,即它们产生相同的结果/值:
// class
class A {
constructor() {
this.foo = 42;
}
bar() {
console.log(this.foo);
}
}
// constructor function
function A() {
this.foo = 42;
}
A.prototype.bar = function() {
console.log(this.foo);
}
所有不是原始值(字符串、数字、布尔值、null、未定义、符号)的东西都是 JavaScript 中的对象。函数也是对象,具有特殊的内部属性,使得它们callable(和/或可建造的).
为什么不反对呢?
typeof
返回字符串"function"
对于函数值,因为这就是规范中定义的方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)