typeof vs instanceof

typeof

typeof返回的是字符串。
typeof对于原始类型来说,除了null都可以正确判断类型。

原始类型: null、undefined、string、number、symbol、boolean

typeof 1 // 'number'
typeof '1' // 'string'
typeof undefined // 'undefined'
typeof true // 'boolean'
typeof Symbol() // 'symbol'
typeof null //'object'

typeof对于引用类型来说,除了函数显示function其他都判断为object

typeof [] // 'object'
typeof {} // 'object'
typeof console.log // 'function'

MDN文档中的表格一目了然:查看MDN文档

image.png

instanceof

instanceof运算符用于测试构造函数的prototype属性是否出现在对象的原型链中的任何位置。
内部机制是通过原型链来实现的。

const Person = function() {}
const p1 = new Person();
p1 instanceof Person // true
// p1.__proto__ === Person.prototype

var str = 'hello world'
str instanceof String // false

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

相关阅读更多精彩内容

  • 问题 Javascript中有些基本的表达式非常反直觉,比如: 可是我们测试下面的表达式: 看起来"foo"的原型...
    MengchunCao阅读 838评论 0 1
  • 本博客转自:「作者:若愚链接:https://zhuanlan.zhihu.com/p/22361337来源:知乎...
    韩宝亿阅读 2,886评论 0 3
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,453评论 0 21
  • 欢迎访问我的博客https://qqqww.com/,祝码农同胞们早日走上人生巅峰,迎娶白富美~~~ 相同点:Ja...
    这里王工头阅读 276评论 0 0
  • 什么样的人算是聪明的人? 是智商高的人是聪明人,是情商高的人是聪明人? 中国文字就是这么模糊,是大智慧还是小聪明?...
    关七666阅读 1,096评论 3 15

友情链接更多精彩内容