当我们说"实例"时,我们假设我们正在处理一个对象.为什么JavaScript的运算符在我们要求时instanceof返回,但是?为什么不呢?true(class A { }) instanceof Functiontypeof (class A { }) == "function"object
instanceof当我们询问时,为什么JavaScript的运算符返回true(class A { }) instanceof Function
classes只是构造函数的语法糖.即评估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);
}
Run Code Online (Sandbox Code Playgroud)
所有非原始值(字符串,数字,布尔值,空值,未定义,符号)都是JavaScript中的对象.函数也是对象,具有使其可调用(和/或可构造)的特殊内部属性.
为什么不反对?
typeof返回"function"函数值的字符串,因为它是在规范中定义的方式.
| 归档时间: |
|
| 查看次数: |
517 次 |
| 最近记录: |