私は本当に調べる機会がなかったという簡単な質問。コールで使用されたときにより効果的です/文脈の適用:Array.prototype
対[]
?Array.prototype vs [] perf
例えば:
function test1() {
return Array.prototype.splice.apply(arguments, [1, 2]);
}
test1([1,2,3,4,5,6,7,8,9]);
function test2() {
return [].splice.apply(arguments, [1, 2]);
}
test1([1,2,3,4,5,6,7,8,9]);
私の考え:私はプロトタイプの機能を再利用することができ、何のリテラル必要が作成されないことがあるためArray.prototype
方法がよりパフォーマンスであると仮定します。しかし確かに確信しています。 (クローム付き)JSPerfを使用して
Array.prototype
は確かに少しよりパフォーマンスであるように見えます:
http://jsperf.com/array-perf-prototype-vs-literal
リストされている理由により、 'Array.prototype.splice'がより速くなると思います。余分なオブジェクトの作成はありません。しかし、これはせいぜいマイクロ最適化であり、このような状況での可読性に焦点を当てる必要があります。 – Matt
* agree *あなたの意見ではどれが読みやすくなっていますか?私はArray.prototypeに傾きますが、libsなどで使用されている[]を見ています。 –
Dpolehonskiがバイト数の削減についての彼の答えの良い点を作っていますが、私はそれにも 'Array.prototype'と同意します'[]'を使うときは私はどちらのアプローチの利点もそれほど重要ではないと思うので、他の何よりも個人的な好みに沸きます。 – Matt