关于 instanceof 的疑问
資深大佬 : rodrick 3
Array instanceof Object 为什么是 true 呢,MDN 上说
instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。
[] instanceof Object 为 true 我能理解
Array 算是一个实例对象么? 有点没搞懂
大佬有話說 (11)
Array instanceof Object 为什么是 true 呢,MDN 上说
instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。
[] instanceof Object 为 true 我能理解
Array 算是一个实例对象么? 有点没搞懂
“`
class Array {
constructor(){}
}
“`
然后根据 mdn 的解释是:JavaScript 的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。
参考: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array
另外,MDN 中文这个实例对象是中文翻译自己加的描述,其实没有实例对象这个概念,或者说实例对象的定义就是 instanceof 的定义,那就是要么 Symbol.hasInstance 返回 true 了要么就是 constructor 的 prototype 出现在了 object 的原型链上:
object instance of constructor