let c=(b=a)的意思是啥

网上看到个源码,大意如下:

let a =1;
let b
let c = (b=a)

console.log(a,b,c)

求前辈翻译一下哈

阅读 126
评论
    3 个回答

    let c=b=a=1; 连续赋值语法,每个变量的值都等于最右边的结果

    如果加了括号 含义有一点不太一样

    let c = (b = a); 可以认为把括号中的结果赋值给c, 问题就变成了 b = a返回的结果是多少。
    一个例子

    let a;
    console.log(a = 1);  // 输出1,注意和  条件判断a == 1区别

    再来一个复杂的例子

    let a = 1;
    let b;
    let c = ((b = a) + 1);
    console.log(a,b,c); // 输出 1 1 2
      相似问题
      推荐文章