深入赋值、拷贝问题
要说赋值的问题的话就必须先说基本数据类型和引用数据类型;
1.基本数据类型和引用数据类型
1.1 基本数据类型指的是简单的数据段;
1.2 引用数据类型指的是那些可能由多个值构成的对象
1.3截止今年(2019)的ES10,js的基本数据类型已经来到了七种;
string(字符串)、number(数字)、boolean(布尔)、null(对空)、undefined(未定义)、Symbol(独一无二的值-ES6)、BigInt(任意大的整数-ES10)
1.4 常用的引用类型有Object(对象)、Array(数组)、Date(日期)、RegExp(实例)、Function(函数);还有许多,这些只是常用的。
string在ECMAScript中不属于对象形式不是引用类型。
2.赋值
2.1 在将一个值赋给变量时,解析器必须确定这个值是基本类型还是引用类型
2.2 赋值分为两部分
基本数据类型:赋值,赋值之后两个变量互不影响
引用数据类型:赋址,两个变量具有相同的引用,指向同一个对象,相互之间有影响
let num1 = 5;
let num2 = num1
num2 5(number类型)
num1 5(number类型)
let obj1 = new O