foo.x = foo = {n: 2};
判定
foo.x是指一种属性
x的的
{n: 1}对象,受让人{n: 2}到foo,和受让人的新值
foo-
{n:2}-为属性x的的
{n: 1}对象。重要的是,
foo这
foo.x指的是之前确定
foo的变化。
参见ES5规范的11.13.1节
令 lref 为评估 LeftHandSideexpression 的结果。
令 rref 为评估 Assignmentexpression 的结果。
赋值运算符从右到左关联,因此您得到:
foo.x = (foo = {n: 2})首先评估左侧,然后评估右侧。



