タグ

ブックマーク / js-next.hatenablog.com (3)

  • Array.{of, from}が実装された - JS.next

    概要 配列を作る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,

    Array.{of, from}が実装された - JS.next
    isdh
    isdh 2018/08/20
    Array extendがいい感じ
  • for文でのlet変数が毎ループ新スコープを持つようになった - JS.next

    概要 かつてはfor文初期化句で宣言された変数は、for文の直前で宣言されたように振舞っていたが、各ループでスコープを引きづらないように仕様が変更され、V8も追従した。 例 for (let i = 0; i < 5; i++) { ~~~ } これは今までは次のコードと等価だった。 { let i = 0 for (; i < 5; i++) { ~~~ } } つまりfor文中で関数を定義するとこうなっていた。 let funs = [] for (let i = 0; i < 5; i++) { funs.push(function () { return i }) } funs.map(function (fun) { return fun() }) // [5,5,5,5,5] この結果が[0,1,2,3,4]になるのが今回の変更である。 つまり一番最初のコードはこれと等価になる

    for文でのlet変数が毎ループ新スコープを持つようになった - JS.next
    isdh
    isdh 2018/08/14
    毎ループ新スコープ
  • async関数が実装された - JS.next

    概要 非同期な処理を同期的に書ける関数タイプが実装された。 基 「async」キーワードに続けて関数定義を書くと、async関数となる。 async function afn1() { } afn2 = async () => { } obj = { async afn3() { } } async関数を呼び出すとプロミスが返される。 console.log( afn1() ) // <Promise> このプロミスは、async関数が終了するとその返り値で解決され、例外が起こると棄却される。 async function afn4( flag ) { if ( flag ) return 'Yes' else throw 'No' } afn4( true ).then( v => console.log( v ) ) /// "Yes" afn4( false ).catch( v

    async関数が実装された - JS.next
    isdh
    isdh 2016/05/19
  • 1