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]
```