es6+

const getBook = async bookName => { const book = await fetchBook(bookName); const [author, rating] = await Promise.all([ fetchAuthor(book.authorId), fetchRating(book.id) ]); return { ...book, author, rating }; };


箭頭函數哪些情況不適用:

原因:

1、箭頭函數是匿名的

2、箭頭函數沒有構造函數

3、箭頭函數本身不具有this,它取決于外部上下文。


WeakMaps?提供了一種從外部擴展對象而不影響垃圾收集的方法。當咱們想要擴展一個對象,但是因為它是封閉的或者來自外部源而不能擴展時,可以應用WeakMap。

WeakMaps的有趣之處在于,它包含了對map內部鍵的弱引用。弱引用意味著如果對象被銷毀,垃圾收集器將從WeakMap中刪除整個條目,從而釋放內存。


立即執行函數有返回值的情況???


柯里化函數???

```

function curry(fn) {

? if (fn.length === 0) {

? ? return fn;

? }

? function _curried(depth, args) {

? ? return function(newArgument) {

? ? ? if (depth - 1 === 0) {

? ? ? ? return fn(...args, newArgument);

? ? ? }

? ? ? return _curried(depth - 1, [...args, newArgument]);

? ? };

? }

? return _curried(fn.length, []);

}

function add(a, b) {

? return a + b;

}

var curriedAdd = curry(add);

var addFive = curriedAdd(5);

var result = [0, 1, 2, 3, 4, 5].map(addFive); // [5, 6, 7, 8, 9, 10]


```

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容