JavaScript Data Types
JavaScript是一种弱类型语言,它有八种数据类型,分别是:
- String
- Number
- BigInt
- Boolean
- Null
- Undefined
- Symbol
- Object
除了Object之外,其他的数据类型都是原始类型(Primitive types)。
注意:JavaScript中的Array、Function、Set、Map、RegExp等等都是Object类型。
如何判断一个变量的类型
在JavaScript中,我们可以使用typeof
操作符来判断一个变量的类型。typeof
操作符返回一个字符串,表示变量的类型。
1 | typeof 'Hello'; // string |
注意:虽然Function类型是Object的子类型,但是typeof
操作符返回的是function
。
如何精准的判断一个变量的类型
在JavaScript中,我们可以使用Object.prototype.toString
方法来精准的判断一个变量的类型。
1 | Object.prototype.toString.call('Hello'); // [object String] |
注意:Object.prototype.toString
方法返回的是一个字符串,表示变量的类型。所以我们可以封装一个函数来判断一个变量的类型。(注意:判断数组可以用更好的方法 - Array.isArray
方法)
1 | function getType(value) { |
以下几个需要注意:
1 | typeof typeof 1; // string, typeof 永远返回字符串。 |
instanceof 操作符
instanceof
操作符用来判断一个对象是否是某个构造函数的实例。
1 | const arr = [1, 2, 3]; |