Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Khác biệt giữa new Object() và object literal {} trong JavaScript

Cả new Object() và {} **khởi tạo object rỗng** y hệt nhau.

Khác biệt khi thêm property

// Object literal - thêm property ngay trong khai báo
let a = { name: 'Ayush' };

// Tương đương new Object()
let a = new Object();
a.name = 'Ayush';

// Hoặc
let a = {};
a.name = 'Ayush';

Điểm khác thực tế

  • {} **ngắn gọn, readable, performant hơn** (engine tối ưu literal).
  • new Object() cho phép truyền argument: new Object(123) → wrapper Number object (hiếm dùng).
  • {} hỗ trợ **computed property name** (ES6): { [prop]: value }.
  • {} hỗ trợ **shorthand property**: { x, y } = { x: x, y: y }.

Khuyến nghị: Luôn dùng {} (object literal). new Object() chỉ dùng khi dynamic wrapper primitive.