配列の場合、読みやすさとプレーン表記のわずかなパフォーマンス上の利点を除いて、2つのアプローチの間に大きな違いはありません。
ただし、一般的に推奨される方法は、JavaScriptで可能な場合は、これらをコンストラクターでラップするのではなく、プレーン表記を使用することです。'new Array()'と'new Object()'はとと同じものを生成しますが、プリミティブにコンストラクターを使用する[]
と{}
、実際に問題が発生する可能性があります。
たとえばnew String()
、プリミティブ文字列ではなくStringオブジェクトを作成します。===
これには、文字列での使用や他の比較を防ぐという欠点があります。
例えば
alert(new String("") === new String("")); //false alert ("" === "")
//true
したがって、この特定のケースに違いはありませんが、一般に、組み込み型のコンストラクターを使用するよりも、基本的な表記法を使用する習慣を身に付ける方がよいでしょう。
明確化
私が違いがないと言うとき、私は一般的な場合、それらの表記法が同じ結果を生み出すことを意味します。Vivinのポイントは優れており、この表記を避けるもう1つの理由です。