I'vは、ネイティブオブジェクトへの配列のプロトタイプを適用する両方の方法に遭遇します対象:[] .slice又はArray.prototype.slice
type = Object.prototype.toString.call(obj);
type = {}.toString.call(obj);
簡単なテスト:
function fn() {
console.log(
Array.prototype.slice.call(arguments),
[].slice.call(arguments),
Object.prototype.toString.call(arguments),
{}.toString.call(arguments)
);
}
fn(0,1);
フィドル:http://jsfiddle.net/PhdmN/
彼らは私と同じようです。最初の構文はより頻繁に使用されますが、2番目の構文は確実に短くなります。より短い構文を使用すると、何らかの欠点がありますか?
第2の構文は、不必要に新しいオブジェクトを作成します。 –
@DanD。正解であるため、これを回答として投稿する必要があります。 ;) – Lucero