获取对象的内部属性 [[Class]] 的值,比typeof更细一点

Object.prototype.toString返回一种标准格式字符串
Object.prototype.toString.call([])    // "[object Array]"
Object.prototype.toString.call({})    // "[object Object]"
Object.prototype.toString.call(2)    // "[object Number]"

//通过截取字符串,就能拿到 "[object type]"中的type
Object.prototype.toString.call([]).slice(8, -1)  //Array

为了检测一个对象的类型,强烈推荐使用 Object.prototype.toString方法; 因为这是唯一一个可依赖的方式。正如上面表格所示,typeof 的一些返回值在标准文档中并未定义, 因此不同的引擎实现可能不同。

除非为了检测一个变量是否已经定义,我们应尽量避免使用 typeof操作符。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,734评论 0 4
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,584评论 0 21
  •   面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意...
    霜天晓阅读 2,281评论 0 6
  • 雏菊遍野芳菲尽,何处清风唤起身。 夜下人声惊霁月,原来梦里会乡音。 平起不入韵 海棠社作业,以秋夜为题写格律诗
    云若V阅读 625评论 2 3
  • 就在昨天早晨,一则不大不小的消息,在并没有刷朋友圈的情况下被几家媒体报道: 微信要开始对公众号进行收费了。 从去年...
    流动盛宴爱码士阅读 345评论 2 0

友情链接更多精彩内容