Объект — набор свойств. Язык даёт несколько синтаксисов с разной семантикой прототипа и удобства.
Способы
Литерал {} — самый частый.
new Object() — редко нужен явно.
Object.create(proto) — явно задать прототип (в т.ч. null).
Constructor function + new.
class + new (синтаксический сахар над прототипами).
const a = { x: 1 };
const b = Object.create(null); // без Object.prototypefunctionPoint(x) {
this.x = x;
}
const c = newPoint(1);
classBox {
constructor(v) {
this.v = v;
}
}
const d = newBox(2);
Итог
Для данных — литерал; для семейства экземпляров — class/new; для особого прототипа — Object.create.
На собеседовании
Ожидают не заученную таблицу, а умение связать концепцию с багом из практики: что сломается, если выбрать неправильный вариант, и какой код вы напишете в реальном PR. Короткий пример и граничный случай обычно ценятся выше длинной теории.
Какими способами можно создать объект в JavaScript? · Sobeso