我也遇到過下面的代碼在線:如何解釋JavaScript表達式的[which]:部分({[which]:o [which]} = bar());
function bar() {
return {
x: 4,
y: 5,
z: 6
};
}
var which = "x",
o = {};
({ [which]: o[which] } = bar());
console.log(o.x);
我明白這個代碼是在ES6推出了「解構語法」的一個例子。
我也明白,o[which]
正在搜索對象o
中名爲which
的密鑰,如果找到,則返回which
密鑰的值。
但我不太確定該表達式的[which]:
部分是如何工作的。
參見上面兩行,即'VAR其中= 「×」'。這應該解決你的其他困惑。 – Nit
@Nit也許我的大腦目前不工作,或者我的知識存在差距,但目前我無法解決這個問題。你好,請給我多一點提示? – Thor
這是一個計算出來的屬性名稱。替換爲它的值'「x」',你會得到'({x:o.x} = bar());' – Bergi