function ClassA(){
this.value = 5;
}
var obj1 = new ClassA;
var obj2 = new ClassA();
console.log(obj1.value);
console.log(obj2.value);
Оба печатают "5" в консоли. Какая разница между двумя способами (кроме включения аргументов для конструктора)?
Скобки являются необязательными - если у вас нет каких-либо параметров конструктора, они могут быть опущены.
Как ни странно, точки с запятой также (иногда) необязательны благодаря автоматической вставке с запятой (source, более). Это вызвало длительные дебаты в начале этого года и вызвало ответ от Дуглас Крокфорд (JSON/JSLint изобретатель, гуру JS).
Нет никакой разницы.
Если аргументов нет, и существует new
, то скобки необязательны.