JavaScript数据类型
JavaScript数据类型
基本数据类型
1. Number
2. String
3. Null
4. Undefined
5. Boolean
6. Symbol
7. BigInt
引用数据类型
1. Object
typeof 操作符返回值
类型 | 结果 |
---|---|
Number | number |
String | string |
Null 和 其他对象 | object |
Undefined | undefined |
Boolean | boolean |
Symbol | symbol |
BigInt | bigint |
Function 对象 | function |
需要注意的点
- ```javascript
typeof class C {} === 'function'
2. ```js
typeof new Number(1) === 'object'
通用的获取数据类型方法
Object.prototype.toString
toString是Object原型对象上的一个方法,该方法默认返回其调用者的具体类型,更严格的讲,是toString
运行时this指向的对象类型, 返回的类型格式为[object,xxx],xxx是具体的数据类型
Object.prototype.toString.call('') ; // [object String]
Object.prototype.toString.call(1) ; // [object Number]
Object.prototype.toString.call(true) ; // [object Boolean]
Object.prototype.toString.call(undefined) ; // [object Undefined]
Object.prototype.toString.call(null) ; // [object Null]
Object.prototype.toString.call(new Function()) ; // [object Function]
Object.prototype.toString.call(new Date()) ; // [object Date]
Object.prototype.toString.call([]) ; // [object Array]
Object.prototype.toString.call(new RegExp()) ; // [object RegExp]
Object.prototype.toString.call(new Error()) ; // [object Error]
Object.prototype.toString.call(document) ; // [object HTMLDocument]
Object.prototype.toString.call(window) ; //[object Window]
需要注意的是,必须通过Object.prototype.toString.call
来获取,而不能直接new Date().toString()
, 从原型链的角度讲,所有对象的原型链最终都指向了Object, 按照JS变量查找规则,其他对象应该也可以直接访问到Object的toString方法,而事实上,大部分的对象都实现了自身的toString方法,这样就可能会导致Object的toString被终止查找,因此要用call来强制执行Object的toString方法。
参考链接
2022-04-06 21:42:57
JavaScript
喜欢
啊咧,登陆后才能评论哦!