それぞれのコンストラクタを使用して、上のオブジェクトと配列リテラルの利点がある:
- 短く、より可読
- 安全:リテラルは、依然として
Array
又はObject
コンストラクタは
- おそらくオーバーライドされたときに動作しますより速いが、それは主な考慮事項ではないだろう(ボトルネックはコード内の他の箇所で発生する可能性が高い)。
配列の場合、リテラルの利点がもう一つあります。コンストラクタだけを使用して単一メンバーで配列を作成することは不可能です。次の段落は、質問が編集された今、もはや適切である:new Array(3)
は長さ3
アップデートの配列を作成しながら、例えば、[3]
は、ナンバー3である一つの要素を持つ配列を作成します。
ブール値に関しては、new Boolean(false)
はfalse
と同じではありません。 Boolean()
コンストラクタはブールオブジェクトを作成しますが、false
とtrue
はブールプリミティブです。実際には、new Boolean(false)
は、たとえばif
ステートメントのブール値に強制変換すると、true
と評価されます。要するに、Boolean()
コンストラクタを使用する理由はほとんどありません。代わりにtrue
とfalse
を使用してください。同様に、文字列や数値などの他のプリミティブには、とNumber
というプリミティブな文字列や数値とは異なるオブジェクトが生成され、一般的には避けるべきコンストラクタがあります。
'新しいブール(真)'この補正で編集し 'true'に –
と同等ではありません。 –