跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 关于 instanceof 的疑问
未分類
20 11 月 2020

关于 instanceof 的疑问

关于 instanceof 的疑问

資深大佬 : rodrick 3

Array instanceof Object 为什么是 true 呢,MDN 上说

instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。

[] instanceof Object 为 true 我能理解

Array 算是一个实例对象么? 有点没搞懂

大佬有話說 (11)

  • 資深大佬 : nikandaoleshenme

    万物皆对象?

  • 資深大佬 : VDimos

    js 啥都是 Object,不信你看它 prototype

  • 資深大佬 : wunonglin

    Array 本质也是个对象。。。,你可以通俗理解为

    “`
    class Array {
    constructor(){}
    }
    “`

    然后根据 mdn 的解释是:JavaScript 的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。

    参考: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array

  • 資深大佬 : vision1900

    JavaScript 分 2 种类型:简单类型和对象。
    简单类型包括:number, string, boolean, null, undefined, 还有最近的 BigInt, Symbol 。
    其他类型都是对象。Array 特殊一点,他是个构造函数又是个对象,而且是内置的。
    证明是函数: typeof Array === “function”
    证明是对象:其实不用证明,函数就是对象。非得证明的话,呃,你自己已经证明了:Array instanceof Object 。
    建议深入了解下原型链

  • 資深大佬 : Reapper

    Object instanceof Function, Array instanceof Function, Function instanceof Object 对象分为普通对象和函数对象

  • 主 資深大佬 : rodrick

    @nikandaoleshenme
    @VDimos
    @wunonglin
    @vision1900
    想起来了。。Object.prototype.toString.call(Array) => [object Function]
    确实是对象,自己给自己整晕乎了。。

  • 資深大佬 : tabris17

    因为 Array.__proto__.__proto__ == Object.prototype 是 true

  • 資深大佬 : iidear2015

    // Object 的 prototype 属性出现在了 Array 的原型链上
    Object.prototype === Array.__proto__.__proto__ // true

  • 資深大佬 : morethansean

    你自己都回答了……
    Array.__proto__.__proto__ === Object.prototype

    另外,MDN 中文这个实例对象是中文翻译自己加的描述,其实没有实例对象这个概念,或者说实例对象的定义就是 instanceof 的定义,那就是要么 Symbol.hasInstance 返回 true 了要么就是 constructor 的 prototype 出现在了 object 的原型链上:
    object instance of constructor

  • 資深大佬 : auroraccc

    Array 是一个函数哇,函数本身就是一个对象

  • 主 資深大佬 : rodrick

    @morethansean 对,主要是看到 MDN 的翻译说“实例对象”,个人觉得对象和实例不是一个概念,一下没反应过来,看了下英文的原文就是 object

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具