你在看什麼是破壞環分配。這是一種類似於Haskell的pattern matching。
使用解構賦值可以從對象和數組中提取值,並使用對象和數組字面量語法將它們賦值給新聲明的變量。這使得代碼更加簡潔。
例如:
var ascii = {
a: 97,
b: 98,
c: 99
};
var {a, b, c} = ascii;
上面的代碼就等於:
var ascii = {
a: 97,
b: 98,
c: 99
};
var a = ascii.a;
var b = ascii.b;
var c = ascii.c;
類似地,對於數組:
var ascii = [97, 98, 99];
var [a, b, c] = ascii;
這相當於:
var ascii = [97, 98, 99];
var a = ascii[0];
var b = ascii[1];
var c = ascii[2];
您也可以使用let
如下提取以及重命名對象屬性:
var ascii = {
a: 97,
b: 98,
c: 99
};
let {a: A, b: B, c: C} = ascii;
這相當於:
var ascii = {
a: 97,
b: 98,
c: 99
};
var A = ascii.a;
var B = ascii.b;
var C = ascii.c;
這一切就是這麼簡單。
@Blender如何在symbolhound.com上搜索此結構? – trusktr 2013-09-02 04:23:38
@trusktr:有點晚:http://symbolhound.com/?q=javascript&l=&e=var+%7B&n=&u= – Blender 2015-06-14 02:08:29
簡短回答在這裏:https://stackoverflow.com/a/45909752/203704 – 2017-08-27 22:10:01