对象绑定 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
我有一个我无法理解的问题。我是用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