5. 解構

2018-02-24 16:11 更新
  • 5.1?使用解構存取和使用多屬性對象。

    為什么?因為解構能減少臨時引用屬性。

      // bad
      function getFullName(user) {
        const firstName = user.firstName;
        const lastName = user.lastName;
    
        return `${firstName} ${lastName}`;
      }
    
      // good
      function getFullName(obj) {
        const { firstName, lastName } = obj;
        return `${firstName} ${lastName}`;
      }
    
      // best
      function getFullName({ firstName, lastName }) {
        return `${firstName} ${lastName}`;
      }
  • 5.2?對數(shù)組使用解構賦值。

    const arr = [1, 2, 3, 4];
    
    // bad
    const first = arr[0];
    const second = arr[1];
    
    // good
    const [first, second] = arr;
  • 5.3?需要回傳多個值時,使用對象解構,而不是數(shù)組解構。

    為什么?增加屬性或者改變排序不會改變調用時的位置。

      // bad
      function processInput(input) {
        // then a miracle occurs
        return [left, right, top, bottom];
      }
    
      // 調用時需要考慮回調數(shù)據(jù)的順序。
      const [left, __, top] = processInput(input);
    
      // good
      function processInput(input) {
        // then a miracle occurs
        return { left, right, top, bottom };
      }
    
      // 調用時只選擇需要的數(shù)據(jù)
      const { left, right } = processInput(input);
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號