MST

星途 面试题库

面试题:JavaScript 中赋值操作符在数组边界条件下的表现

假设有一个数组 `let arr = [1, 2, 3]`,当执行 `let newArr = arr` 后,对 `newArr[0] = 10` 进行操作,`arr` 数组的值会发生什么变化?为什么?这种现象与赋值操作符有什么关系?
10.8万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. arr 数组的值的变化
    • arr 数组的值会发生变化,arr 变为 [10, 2, 3]
  2. 原因
    • 在 JavaScript 中,数组是引用类型。当执行 let newArr = arr 时,newArrarr 指向同一个内存地址,它们引用的是同一个数组对象。所以当通过 newArr 修改数组元素时,由于 arr 引用的是同一个数组对象,arr 的值也会相应改变。
  3. 与赋值操作符的关系
    • 赋值操作符 = 在处理引用类型时,是将引用(内存地址)赋值给新的变量,而不是创建一个新的对象副本。所以对其中一个引用所指向对象的修改,会影响到其他指向同一对象的引用。