对象绑定 javascript

Object binding javascript

我有一个我无法理解的问题。我是用js书学习的javascript,还有代码的例子

let a = {};
let b = a;
b = a["folder"] = {}; // how to understand this?
// after that b = {}, a = {folder: {} }

请解释一下:(

你的例子中的最后一行是从右到左计算的,首先将a['folder]的值赋值为一个新的空对象,然后将b的值赋值为等于a['folder'] 作为对同一对象的引用。

这会覆盖您对 b = a;

的初始分配

let a = {};
let b = a;
console.log(a === b); // true

b = a["folder"] = {};

console.log(a === b) // false, because b is now a reference to the object assigned to a.folder
console.log(a.folder === b) // true