提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
typeof类型判断
1.typeof 是否能正确判断类型?
2. instanceof 能正确判断对象的原理是什么?
提示:以下是本篇文章正文内容
一、typeof 是否能正确判断类型?
1.typeof 对于原始类型来说,除了 null 都可以显示正确的类型。
typeof 1 // 'number'
typeof '1' // 'string'
typeof undefined // 'undefined'
typeof true // 'boolean'
typeof Symbol() // 'symbol'
2.typeof 对于对象来说,除了函数都会显示 object。
typeof [] // 'object'
typeof {} // 'object'
typeof console.log // 'function
总结
typeof 并不能 准确判断变量到底是什么类型;
如果我们想判断⼀个对象的正确类型,这时候可以考虑使⽤ instanceof
二、 instanceof 能正确判断对象的原理是什么
- instanceof 之所以能正确判断对象类型,是因为其内部机制是通过原型链来判断的
代码如下(示例):
const Person = function() {}
const p1 = new Person()
p1 instanceof Person // true
const str = 'hello world'
str instanceof String // false