Serials Javascript Style Guide – Destructuring

  Javascript    —  2019, May 27    

Destructuring

5.1 Object

Khi mà muốn sử dụng nhiều thuộc tính của object thì nên sử dụng object destructuring. eslint: prefer-destructuring

Tại sao ư? Nhằm tránh tạo các temporary references

// bad
function getFullName(user) {
  const firstName = user.firstName;
  const lastName = user.lastName;

  return `${firstName} ${lastName}`;
}

// good
function getFullName(user) {
  const { firstName, lastName } = user;
  return `${firstName} ${lastName}`;
}

// best
function getFullName({ firstName, lastName }) {
  return `${firstName} ${lastName}`;
}

5.2 Array

Hãy sử dụng array destructuring. eslint: prefer-destructuring

const arr = [1, 2, 3, 4];

// bad
const first = arr[0];
const second = arr[1];

// good
const [first, second] = arr;

5.3 Object over array

Sử dụng object destructuring khi trả về nhiều giá trị, không dùng array destructuring.

Tại sao ư? Vì bạn có thể thêm các thuộc tính mới hoặc thay đổi thứ tự của chúng mà không làm hỏng cách gọi nó.

// bad
function processInput(input) {
  // then a miracle occurs
  return [left, right, top, bottom];
}

// the caller needs to think about the order of return data
const [left, __, top] = processInput(input);

// good
function processInput(input) {
  // then a miracle occurs
  return { left, right, top, bottom };
}

// the caller selects only the data they need
const { left, top } = processInput(input);

Tổng hợp Serial Javascript Style Guide