ES6 部分未用語法(轉載)

1. 數組去重

// 例子1

[...new Set(array)]複製代碼


2. 動態屬性

// 例子2

const x = {
  ['a' + '_' + 'b']: 'z'
}

console.log(x.a_b); // z複製代碼


3. finally

// 例子3

fetch('file.json')
.then(data => data.json())
.catch(error => console.error(error))
.finally(() => console.log('finished'));複製代碼

4. 編輯表單時的拷貝

// 例子4

function fetch() {
  try {
    const data = JSON.parse(JSON.stringify(data))
  } catch (err) {
    console.log(err)
  }
};複製代碼

5. "async 地獄"

// 例子5

// bad
(async () => {
  const getList = await getList();
  const getAnotherList = await getAnotherList();
})();

// good
(async () => {
  const listPromise = getList();
  const anotherListPromise = getAnotherList();
  await listPromise;
  await anotherListPromise;
})();

// good
(async () => {
  Promise.all([getList(), getAnotherList()]).then(...);
})();複製代碼


6. 調用參數

// 例子6

// bad
Math.max.apply(null, [14, 3, 77])

// good
Math.max(...[14, 3, 77])
// 等同於
Math.max(14, 3, 77);複製代碼


7. 構建對象

剔除部分屬性,將剩下的屬性構建一個新的對象json

// 例子 7
let [a, b, ...arr] = [1, 2, 3, 4, 5];

const { a, b, ...others } = { a: 1, b: 2, c: 3, d: 4, e: 5 };複製代碼


8. 合併對象

// 例子 8

let obj1 = { a: 1, b: 2,c: 3 }
let obj2 = { b: 4, c: 5, d: 6}
let merged = {...obj1, ...obj2};複製代碼


9. 雙冒號運算符

// 例子 9

foo::bar;
// 等同於
bar.bind(foo);

foo::bar(...arguments);
// 等同於
bar.apply(foo, arguments);複製代碼

若是雙冒號左邊爲空,右邊是一個對象的方法,則等於將該方法綁定在該對象上面。數組

// 例子 9

var method = obj::obj.foo;
// 等同於
var method = ::obj.foo;

let log = ::console.log;
// 等同於
var log = console.log.bind(console);複製代碼


10. 變量重命名

// 例子 10
let { foo: baz } = { foo: 'aaa', bar: 'bbb' };
console.log(baz); // "aaa"複製代碼


11. includes

// 例子 11

// bad
function test(fruit) {
  if (fruit == 'apple' || fruit == 'strawberry') {
    ...
  }
}

// good
function test(fruit) {
  const redFruits = ['apple', 'strawberry', 'cherry', 'cranberries'];
  if (redFruits.includes(fruit)) {
    ...
  }
}複製代碼


12. Babel

babeljs.io/docs/en/bab…
bash

原做者:冴羽 連接:https://juejin.im/post/5bfe05505188252098022400 來源:掘金 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。
相關文章
相關標籤/搜索