有没有办法将两个变量分配给相同的值?
试过这个:
let x, y = 'hi'
它正在编译:
'use strict';
var x = void 0,
y = 'hi';
答案 0 :(得分:6)
绝对没有理由比简单地
更喜欢解构分配let x = 'hi', y = x;
它不仅是一个语句而不是两个语句,但它也避免了额外的分配(提供的解析解决方案至少分配了一个没有充分理由的对象)。
答案 1 :(得分:4)
是的,有可能:
let x, y;
x = y = 'hi';
它被称为链接分配,可以为多个变量分配单个值 查看有关assignment operator的更多详情。
如果您有两个以上的变量,则可以使用数组破坏分配:
let [w, x, y, z] = Array(4).fill('hi');
答案 2 :(得分:1)
你可以这样做..但我的建议尽量避免它。
var one, two, three;
one = two = three = "";
答案 3 :(得分:0)
这预期的行为。来自EMCA-262 6th edition:
如果
let
声明中的 LexicalBinding 没有Initializer
当变量被赋值为undefined
时 评估 LexicalBinding 。
答案 4 :(得分:-2)
var x = y = 'hi';
alert('x'+x);
alert('y'+y);