解构赋值

使用数组成员对变量赋值时,优先使用解构赋值。

  1. const arr = [1, 2, 3, 4];
  2. // bad
  3. const first = arr[0];
  4. const second = arr[1];
  5. // good
  6. const [first, second] = arr;

函数的参数如果是对象的成员,优先使用解构赋值。

  1. // bad
  2. function getFullName(user) {
  3. const firstName = user.firstName;
  4. const lastName = user.lastName;
  5. }
  6. // good
  7. function getFullName(obj) {
  8. const { firstName, lastName } = obj;
  9. }
  10. // best
  11. function getFullName({ firstName, lastName }) {
  12. }

如果函数返回多个值,优先使用对象的解构赋值,而不是数组的解构赋值。这样便于以后添加返回值,以及更改返回值的顺序。

  1. // bad
  2. function processInput(input) {
  3. return [left, right, top, bottom];
  4. }
  5. // good
  6. function processInput(input) {
  7. return { left, right, top, bottom };
  8. }
  9. const { left, right } = processInput(input);