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]


```

你可能感兴趣的:(es6+)