常见变量类型
- Number
- String
- Boolean
- Object
- Array
- Json
- Function
- undefined
- Null
- Date
- RegExp
- bigInt(bigInt是一种内置对象,是处symbol外的第二个内置类型)
- symbol
判断类型的方法
typeof
typeof
是一元运算符,返回结果是一个说明运算数类型的字符串
console.log(typeof 1)
console.log(typeof 'a')
console.log(typeof undefined)
console.log(typeof RegExp())
console.log(typeof Date())
效果展示:
缺陷:其对于Date
、RegExp
类型返回的都是"object",只对个别的返回具体类型
instanceof
instanceof
运算符要求其左边的运算数是一个对象,右边的运算数是对象类的名字或构造函数。如果 object 是 class 或构造函数的实例,则 instanceof
运算符返回 true。如果 object 不是指定类或函数的实例,或者 object 为 null,则返回 false。
let arr=[1,2,3]
let obj={name:'zhangsan'}
let date=new Date();
console.log(arr instanceof Array)
console.log(arr instanceof Object)
console.log(arr instanceof RegExp)
console.log(obj instanceof Array)
console.log(obj instanceof Object)
console.log(obj instanceof RegExp)
console.log(date instanceof Array)
console.log(date instanceof Object)
console.log(date instanceof Date)
效果展示:
constructor 属性
JavaScript中,每个对象都有一个constructor
属性,它引用了初始化该对象的构造函数,常用于判断未知对象的类型。
let arr=[1,2,3]
console.log(arr.constructor==Array)
效果展示: