es6 引用数组,数组发生改变 (es6 引用类型的数据引用的时候怎么不改变原始数据)

vue项目 ,定义了一个变量,然后 this.requirements 和 this.showRequirements 都赋值为 requ ,在 this.requirements 发生改变

之后, this.showRequirements 也发生了改变 。但是我并不想它改变 。

为什么会改变呢?因为数组是引用类型的数据,所以,当指向为同一个指针的时候,改变这个数组的值会影响到另一个指针所指代的值(即同步)。

我这里用的是es6的语法,可以复制一个数组比如:this.requirements = [...requ] ,复制数组,原始数组不会改变 。 

科普一下:基本类型的数据,引用的时候数据不会发生变化,引用类型的数据,引用的时候原始数据会发生变化。

基本类型:number ,string, 布尔值,undefined,null

引用类型:对象,数组,除了基本类型的都是引用类型

猜你喜欢

转载自blog.csdn.net/Hero_rong/article/details/85601159