js 析构赋值

时间:2021-08-22 15:16:07 类型:JS/JQUERY
字号:    

  析构赋值让我们从 Object 或 Array 里取部分数据存为变量。

// 对象
const user = { name: 'guanguan', age: 2 };
const { name, age } = user;
console.log(`${name} : ${age}`);  // guanguan : 2

// 数组
const arr = [1, 2];
const [foo, bar] = arr;
console.log(foo);  // 1

  我们也可以析构传入的函数参数。

const add = (state, { payload }) => {  return state.concat(payload);
};

  析构时还可以配 alias,让代码更具有语义。

const add = (state, { payload: todo }) => {  return state.concat(todo);
};

  对象字面量改进

const name = 'duoduo';
const age = 8;
const user = { name, age }; 
 // { name: 'duoduo', age: 8 }

  定义对象方法时,还可以省去 function 关键字。

app.model({
  reducers: {
    add() {}  // 等同于 add: function() {}
  },
  effects: {
    *addRemote() {}  // 等同于 addRemote: function*() {}
  },
});


<