5. 解構(gòu)

2018-02-24 16:11 更新
  • 5.1?使用解構(gòu)存取和使用多屬性對(duì)象。

    為什么?因?yàn)榻鈽?gòu)能減少臨時(shí)引用屬性。

      // 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?對(duì)數(shù)組使用解構(gòu)賦值。

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

    為什么?增加屬性或者改變排序不會(huì)改變調(diào)用時(shí)的位置。

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)