析構(gòu)賦值讓我們從 Object 或 Array 里取部分?jǐn)?shù)據(jù)存為變量。
// 對(duì)象 const user = { name: 'guanguan', age: 2 }; const { name, age } = user; console.log(`${name} : ${age}`); // guanguan : 2 // 數(shù)組 const arr = [1, 2]; const [foo, bar] = arr; console.log(foo); // 1
我們也可以析構(gòu)傳入的函數(shù)參數(shù)。
const add = (state, { payload }) => { return state.concat(payload); };
析構(gòu)時(shí)還可以配 alias,讓代碼更具有語(yǔ)義。
const add = (state, { payload: todo }) => { return state.concat(todo); };
對(duì)象字面量改進(jìn)
const name = 'duoduo'; const age = 8; const user = { name, age }; // { name: 'duoduo', age: 8 }
定義對(duì)象方法時(shí),還可以省去 function 關(guān)鍵字。
app.model({ reducers: { add() {} // 等同于 add: function() {} }, effects: { *addRemote() {} // 等同于 addRemote: function*() {} }, });