ES6專題

Symbol

魔術字符串指的是,在代碼之中屢次出現、與代碼造成強耦合的某一個具體的字符串或者數值。 風格良好的代碼,應該儘可能消除魔術字符串,改由含義清晰的常量代替。async

const shapeType = {
  triangle: 'Triangle'
};

function getArea(shape, options) {
  let area = 0;
  switch (shape) {
    case shapeType.triangle:
      area = .5 * options.width * options.height;
      break;
  }
  return area;
}

getArea(shapeType.triangle, { width: 100, height: 100 });
複製代碼

上面代碼中,咱們把Triangle寫成shapeType對象的triangle屬性,這樣就消除了強耦合。 若是仔細分析,能夠發現shapeType.triangle等於哪一個值並不重要,只要確保不會跟其餘shapeType屬性的值衝突便可。所以,這裏就很適合改用 Symbol 值。 不用爲常量去費力想初始值了函數

const shapeType = {
  triangle: Symbol()
};
複製代碼

async函數

  1. await的做用就是爲了解決回調嵌套地獄
const user = new User();
user.name = "Leo";
await connection.manager.save(user);

const photo1 = new Photo();
photo1.url = "me.jpg";
photo1.user = user;
await connection.manager.save(photo1);
複製代碼

因爲photo實例的user屬性須要用到上一段中建立的user,因此對connection.manager.save(user);這個方法使用了await標誌,使用這個標誌,表示其後的語句須要等待await方法執行完畢後再執行ui

相關文章
相關標籤/搜索