Array.{of, from}が実装された
概要
配列を作る2つのArrayのスタティックメソッドが実装された。
Array.from(arrayLike, mapfn?, thisArg?)
配列のようなものから配列を作る便利なメソッド。
例
DOMに配列のメソッドを適応したい時、
今までは
[].slice.call(document.getElementsByTagNames('p')).map(mapfn, thisArg)
これがこう書ける
Array.from(document.getElementsByTagNames('p'), mapfn, thisArg)
外部参考リンク
Firefox 32 で Array.from が実装された - hogehoge @teramako
Array.of(...items)
引数から配列を作るメソッド。
例
Array.of(1) // [1] Array.of(1, 2, 3) // [1, 2, 3]
Arrayのサブクラスで使う
これらのスタティックメソッドはきちんと継承先のコンストラクタを呼んで、それを拡張する動作をしてくれる。
class Stack extends Array { constructor(...args) { console.log('Stack was invoked') super(...args) } clear() { this.length = 0 } } var stack = Stack.of(1, 2, 3) //log// 'Stack was invoked'