20200502

@xiaojingzhao

Plan

  • 你不知道的 js 下卷 -- 第六章 新增 API

Notes

Array

Array.of(...)

静态方法:用于代替 Array 构造器。

  • Array(...)的缺陷
a = Array(3);
a.length; // 3
a[0]; // undefined

// Array.of(...)
b = Array.of(3);
b.length; // 1;
b[0]; // 3

Array.of(...) 避免了 Array(...) 创建空槽问题。

Array.from(...)

js 中的伪数组有一个 length 属性,一般会把伪数组转成真正的数组对象。一般使用 Array.prototype.slice 来产生一个真正的数组。

Array.prototype.slice.call(arr);

Array.from 可以用来代替 Array.prototype.slice

Array.from(arr);

优点

  • 永远不会产生空槽(empty),而是 undefined。
  • 有第二个参数,是一个 map 回调,和 Array#map 功能一样。

More