一、js有哪几种数据类型?几种新增数据类型?
1.分基础类型和引用型类型
基础数据类型有:
number、String、boolean、undefined、null
引用数据类型有 Object(Array/数组和 function/函数 也属于对象的一种)
新增的数据类型:
Symbol (独一无二且不可变 作用:解决全局变量冲突或内部变量的覆盖)
bigInt(大整数,能够表示超过 Number 类型大小限制的整数)
二、基础数据类型通常会如何进行分类?使用起来有什么区别?使用过程中你是如何区别他们的?
可区分为:原始数据类型和引用数据类型
原始数据类型有:undefined、null、boolean、number、string
引用数据类型有:对象、数组、函数
他们的区别是:
一个是效果不同:
原始数据类型直接赋值后,不存在引用关系。而引用数据类型是引用关系
一个是存储位置不同:
栈:原始数据类型 → 先进后出栈维护结构 → 栈区由编译器自动分配释放 → 临时变量方式
堆:引用数据类型 → 堆内存由开发者进行分配 → 直到应用结束
原始数据放置在栈中,空间小、大小固定、操作频繁
引用类型数据量大、大小不固定,赋值给的是地址