原文: https://mp.weixin.qq.com/s/MjMDjaQKBCAVyptYRrMgQA
聊一聊JavaScript规定了几种数据类型
问题一(Question 1):
JavaScript规定了几种数据类型(包含ES6)()
A. 3
B. 5
C. 7
D. 9
String、Number、Boolean、Null、Undefined、Object、Symbol(ES6)、BigInt(ES10)
问题二(Question 2):
可以分为几种类型?
* 基本类型
- 访问:按值访问
- 存储:栈内存(Stack)
* 引用类型
- 访问:按引用访问
- 存储:堆内存(Heap)
问题三(Question 3):
如何检测一个变量是什么类型?
* typeof:用来检测一个变量是不是基本的数据类型
* instanceof: 用来判断某个构造函数的 prototype 属性所指向的对象是否存在于另外一个要检测对象的原型链上。简单说就是判断一个引用类型的变量具体是不是某种类型的对象
function a() {
console.log(1)
}
let b = '1'
console.log( a instanceof Function) // true
console.log( b instanceof String) // false
console.log( typeof(b) === String) // false
console.log( typeof(b) === 'string') // true
问题四(Question 4):
Symbol为什么是基本数据类型?
1、不能使用new关键字
2、没有构造函数(constructor)
3、每个Symbol都是唯一的(唯一性)
4、一旦创建是不可变的(不可变性)
5、Symbol定义的属性是不可枚举的(不可枚举性)
公众号回复 1 可获取电子书
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。