使用一个表达式将两个变量分配给相同的值?

Tho*_*ggi 4 javascript ecmascript-6

有没有办法将两个变量分配给相同的值?

试过这个:

let x, y = 'hi'
Run Code Online (Sandbox Code Playgroud)

它正在编译:

'use strict';

var x = void 0,
    y = 'hi';
Run Code Online (Sandbox Code Playgroud)

Dmi*_*tin 6

对的,这是可能的:

let x, y;
x = y = 'hi';
Run Code Online (Sandbox Code Playgroud)

这称为链式赋值,可以将单个值分配给多个变量。
查看有关赋值运算符的更多详细信息。


如果您有 2 个以上的变量,则可以使用数组析构赋值:

let [w, x, y, z] = Array(4).fill('hi');
Run Code Online (Sandbox Code Playgroud)


zer*_*kms 6

完全没有理由更喜欢解构分配

let x = 'hi', y = x;
Run Code Online (Sandbox Code Playgroud)

它不仅是一个语句而不是两个语句,但它也避免了额外的分配(提供的解析解决方案至少分配了一个没有充分理由的对象).

  • @zerkms我认为你的意思是说"绝对没有理由更喜欢_the destructuring assignment_ to` let x ='hi',y = x;`" (2认同)