Định nghĩa đối tượng JavaScript
Các phương pháp xác định đối tượng JavaScript
- Sử dụng một đối tượng theo nghĩa đen
- Sử dụng từ khóa
new
- Sử dụng Trình xây dựng đối tượng
- Sử dụng
Object.assign()
- Sử dụng
Object.create()
- Sử dụng
Object.fromEnties()
Đối tượng JavaScript theo nghĩa đen
Một đối tượng bằng chữ là danh sách các tên thuộc tính:giá trị bên trong dấu ngoặc nhọn {} .
{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Ghi chú:
Một đối tượng bằng chữ cũng được gọi là trình khởi tạo đối tượng .
Tạo một đối tượng JavaScrip
Ví dụ
Tạo một đối tượng JavaScript trống bằng cách sử dụng {}
và thêm 4 thuộc tính:
// Create an Object
const person = {};
// Add Properties
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Hãy tự mình thử » Tạo một đối tượng JavaScript trống bằng cách sử dụng new Object()
và thêm 4 thuộc tính:
// Create an Object
const person = new Object();
// Add Properties
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Hãy tự mình thử »Ghi chú:
Các ví dụ trên thực hiện chính xác như vậy.
Tuy nhiên, không cần sử dụng new Object()
.
Để dễ đọc, đơn giản và tốc độ thực thi, hãy sử dụng phương thức đối tượng theo nghĩa đen .
Hàm xây dựng đối tượng
Đôi khi chúng ta cần tạo nhiều đối tượng cùng loại .
Để tạo một kiểu đối tượng, chúng ta sử dụng hàm xây dựng đối tượng .
Việc đặt tên hàm xây dựng bằng chữ cái đầu tiên viết hoa được coi là một cách thực hành tốt.
Loại đối tượng Người
function Person(first, last, age, eye) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eye;
}
Hãy tự mình thử »Ghi chú:
Trong hàm khởi tạo, this
không có giá trị.
Giá trị của this
sẽ trở thành đối tượng mới khi một đối tượng mới được tạo.
Xem thêm:
Bây giờ chúng ta có thể sử dụng new Person()
để tạo nhiều đối tượng Person mới:
Ví dụ
const myFather = new Person("John", "Doe", 50, "blue");
const myMother = new Person("Sally", "Rally", 48, "green");
const mySister = new Person("Anna", "Rally", 18, "green");
const mySelf = new Person("Johnny", "Rally", 22, "green");
Hãy tự mình thử »Giá trị mặc định của thuộc tính
Giá trị được gán cho một thuộc tính sẽ là giá trị mặc định cho tất cả các đối tượng được tạo bởi hàm tạo:
Ví dụ
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.nationality = "English";
}
Hãy tự mình thử » Phương thức đối tượng JavaScript
Các phương thức đối tượng JavaScript có thể được nhóm thành:
- Phương pháp chung
- Phương pháp quản lý tài sản
- Phương pháp bảo vệ đối tượng
Phương pháp chung
// Copies properties from a source object to a target object
Object.assign(target, source)
// Creates an object from an existing object
Object.create(object)
// Returns an array of the key/value pairs of an object
Object.entries(object)
// Creates an object from a list of keys/values
Object.fromEntries()
// Returns an array of the keys of an object
Object.keys(object)
// Returns an array of the property values of an object
Object.values(object)
// Groups object elements according to a function
Object.groupBy(object, callback)
Các phương thức đối tượng chung của JavaScript
Phương pháp quản lý tài sản
// Adding or changing an object property
Object.defineProperty(object, property, descriptor)
// Adding or changing object properties
Object.defineProperties(object, descriptors)
// Accessing a Property
Object.getOwnPropertyDescriptor(object, property)
// Accessing Properties
Object.getOwnPropertyDescriptors(object)
// Returns all properties as an array
Object.getOwnPropertyNames(object)
// Accessing the prototype
Object.getPrototypeOf(object)
Phương pháp quản lý thuộc tính JavaScript
Phương pháp bảo vệ đối tượng
// Prevents re-assignment
const car = {type:"Fiat", model:"500", color:"white"};
// Prevents adding object properties
Object.preventExtensions(object)
// Returns true if properties can be added to an object
Object.isExtensible(object)
// Prevents adding and deleting object properties
Object.seal(object)
// Returns true if object is sealed
Object.isSealed(object)
// Prevents any changes to an object
Object.freeze(object)
// Returns true if object is frozen
Object.isFrozen(object)
Sử dụng const
Cách phổ biến nhất để bảo vệ một đối tượng khỏi bị thay đổi là sử dụng từ khóa const
.
Với const
bạn không thể gán lại đối tượng nhưng vẫn có thể thay đổi giá trị của thuộc tính, xóa thuộc tính hoặc tạo thuộc tính mới.
Phương pháp bảo vệ đối tượng JavaScript