タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

javaScriptとLogとv8に関するkyo_agoのブックマーク (2)

  • Array.prototype.sort について

    JavaScript の配列にはsortメソッドがあり配列のソートを実行することができるけど、この配列のソートの中の実装はどうなっているのかという話。v8 における配列ソートについての記事が大変参考になりました。 Chrome(V8)の実装はarray.jsにあり、配列の要素数が 10 以下の場合はInsertion sortを使い、それ以上の場合はQuicksortを利用する。Insersion sort の計算量は O(n^2)であるけど、少ない要素数の場合は Quicksort などより高速になるらしい。直近の commmitを見る限りだと、Chrome 69 か 70 あたりでTimsortに置き換えるつもりらしい。Timsort は average が O(n log n)で、最悪でも O(n log n)の計算量で済む。Quicksort を TimSort に置き換えるつもり

    Array.prototype.sort について
  • @@unscopablesが実装された - JS.next

    概要 with文に与えたオブジェクトの特定のプロパティがスコープに含まれることを防ぐための、 ビルトイン"unscopables"シンボルが実装された。 例 @@unscopablesプロパティのオブジェクトが有する名前のプロパティは、値がTruthyならスコープから外される。 var a = 'unscopable', b = 'unscopable', c = 'unscopable' var obj = { a: 'scopable', b: 'scopable', c: 'scopable', } obj[Symbol.unscopables] = { b: true, c: false } with (obj) { console.log(a, b, c) } /* log "scopable" "unscopable" "scopable" */ 何故必要なのか ES2015で

    @@unscopablesが実装された - JS.next
  • 1