关于#javascript#的知识点:关于浅拷贝的问题

#关于浅拷贝的问题

不是说浅拷贝只是拷贝对象或数组的引用,原始对象或数组中的某个属性被修改了,数组引用该属性的拷贝也会被修改。
为什么下面的浅拷贝却修改不了原对象属性?

var obj = {
        name: "aaa",
        value: "JS",
    };

    var n1 = Object.assign({}, obj)
    n1.name = 'bbb'
    console.log(obj);//{name: 'aaa', value: 'JS'}


浅拷贝是对对象作为属性嵌套而言的,字符串是只读的,n1.name = 'bbb'并不改变name原来指向的aaa的内容,而是指向了另一个内容bbb,所以原来的不变。