在准备js面试题时,遇到了许多知识盲区,或是已经遗忘的知识,所以来写一下博客,记录自己的成长,同时查漏补缺
之前虽然一直有用typeof来判断类型,却不知道它所局限的范围,在查阅资料和写代码后算是了解
1.typeof能判断所有的值类型,包括 string,undefined,number,boolean以及symbol(ES6新增的类型,有点类似于字符串
let a; console.log(typeof a); //undefined
a = 'yidaimi'; console.log(typeof a); //string
a = 123; console.log(typeof a);//number
a = false; console.log(typeof a); //boolean
a = Symbol(a); console.log(typeof a);//symbol
2.typeof 能判断是否是引用类型
let a = null; console.log(typeof a);//a是null时,返回object
a = {ak47: 1}; console.log(typeof a);//a是对象时,返回object
a = ['a','b','c']; console.log(typeof a);//a是数组时,返回object
3.typeof能判断是否是函数
const a = () => 'yidaimi'
console.log(typeof a); //返回function