JS中typeof的用法及返回值

2,245 阅读1分钟

笔者今天翻看《你不知道的js》;突然记不太清typeof的返回值具体有哪些。写个笔记记录一下。

typeof 运算符把类型信息当作字符串返回。 我们可以使用typeof来获取一个变量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。

typeof的返回值

typeof有6种可能返回的返回值:

  • 'string' --字符串类型的变量或值
  • 'undefined' --未定义的变量或值
  • 'boolen' --布尔类型的变量或值
  • 'number'--数字类型的变量或值
  • 'object' --对象类型的变量或值,或者null,Array
  • 'function'--函数类型的变量或值

例子

    console.log('1',typeof 'aixoaxue')
    console.log('2',typeof undefined)
    console.log('3',typeof true)
    console.log('4',typeof 23)
    console.log('5',typeof {a:'45'})
    console.log('6',typeof function () {
        
    })

image.png

总的来说,typeof会返回6种类型;对于object我们需要进一步判断的,就需要用到instanceof