js const相关面试题解释

147 阅读1分钟

题目: const obj = { a: 100 } const obj1 = obj; let a1 = obj.a

obj1.a = 200; console.log(obj.a) console.log(a1) a1 = 300; console.log(obj.a) console.log(obj1.a)

答案: 200; 100; 200; 200

解析: const只能存储常量和对象的地址,地址不可以修改否则会报错,但是地址内存储的对象属性可以修改。因此const obj1 = obj;意味着obj1和obj指向同一个地址,。let a1 = obj.a,a1取到的是值100,且let定义的变量可以修改。代码从上到下执行,就很好理解了。