Вы всегда должны предпочитать литералы конструкторам.
Это на самом деле не связано с вашим вопросом, но вот пример с массивами.new Array()
может на первый взгляд сбить с толку, если вы не знаете, как это работает:
var a = [5,6];
var b = [5];
оба создают массивы длиной 2 и 1 соответственно.Но рассмотрим
var a = new Array(5,6);
var b = new Array(5);
Первый создает массив длины 2, содержащий элементы 5 и 6, последний создает пустой массив длины 5.
Итак, вы видите, использование литеральных обозначений позволяет избежать этой ловушки.
Кроме того, всегда использование литеральных обозначений является последовательным.Когда вы создаете строку, вы также пишете var t = "Hello world"
, а не var t = new String("Hello world")
.