原文: 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多平台发布


哼哼子
1 声望2 粉丝