JS 中 typeof instanceof constructor Object.prototype.toString.call()判断数据类型
JS的数据类型: 基础数据类型和复杂数据类型(引用数据类型)
- 基础数据类型:
number string undefined null boolean symbol
- 引用数据类型:
object
1. typeof 返回一个字符串类型
-
语法
typeof
运算符后接操作数 操作符返回一个字符串 字符串 字符串,表示未经计算的操作数的类型typeof operand typeof(operand)
operand
一个表示对象或原始值的表达式,其类型将被返回。
描述 | 结果 |
---|---|
Undefined |
"undefined" |
Null |
"object" |
Boolean |
"boolean" |
Number |
"number" |
String |
"string" |
Symbol |
"symbol" |
Function |
"function" |
Object |
"object" |
- 示例
// 数值 number
typeof 1 // "number"
typeof NaN // "number"
typeof 3.14 // "number"
typeof Infinity // "number"
// 字符串
typeof "小火车" // "string"
typeof typeof typeof 1 // "string"
// 布尔值
typeof true // "boolean"
// Symbol
typeof Symbol() // "symbol"
typeof Symbol("foo") // "symbol"
// Undefined
typeof undefined // "undefined"
// Null
typeof null // "object"
// Object
typeof {name: "小火车"} // "object"
typeof /regex/ // 正则也是对象 "object"
// Function
typeof function() {} // "function"
typeof class C {} // "function"
- 注意 注意 注意 注意 注意
- 当使用
new
操作符的时候也是对象, 但是只有函数function
例外
let str = new String('String') let num = new Number(100); typeof str // "object" typeof num // "object" let func = new Function() typeof func // "function"
- 当判断
Null
的时候会返回一个"object"
的字符串, 因为null
代表的是空指针对象
// JavaScript 诞生以来便如此 typeof null // 'object'
- 当使用
()
语法的时候, 括号有无将决定表达式的类型
typeof ( 1 + "小火车") // "string" typeof 1 + "小火车" // "number小火车"
- 当使用
来源:CSDN
作者:小火车况且况且况且
链接:https://blog.csdn.net/weixin_43972992/article/details/103480646