How does a.x = a = {n: b} work in JavaScript?

前端 未结 4 1445
既然无缘
既然无缘 2020-12-14 10:28

This is related to Javascript a=b=c statements.

I do understand that

foo = foo.x = {n: b}; // console.log(foo) => {n: b}

but

4条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-14 10:42

    It equals

    let tmp = foo;
    foo = {n: b};
    tmp.x = foo;
    

    You could see, that old foo (stored in z in this example) was modified:

    > z=foo={};
    {}
    > foo.x = foo = {n: b};
    { n: 10 }
    > foo
    { n: 10 }
    > z
    { x: { n: 10 } }
    

提交回复
热议问题