Cả ký pháp new Object() và object literal {} làm cùng một việc: khởi tạo một object. Tuy nhiên, ký pháp thứ hai có thể hơi khác nếu bạn bắt đầu thêm thuộc tính vào nó. Ví dụ:
Ví dụ
let a = {
name: 'Ayush'
}
Khởi tạo này tương đương với:
let a = new Object(); a.name = 'Ayush'
Hoặc
let a = {};
a.name = 'Ayush'
Tuy nhiên, điều này không đúng với các lớp kế thừa (inherited classes). Các lớp này có constructor tùy chỉnh và có thể sửa đổi việc gọi new ClassName() để làm những việc khác biệt. Điều đó hoàn toàn tùy vào quyết định của lập trình viên.