JavaScript là một ngôn ngữ lập trình phổ biến và mạnh mẽ, cung cấp nhiều phương thức khác nhau để làm việc với các đối tượng. Hiểu rõ các phương thức đối tượng trong JavaScript sẽ giúp lập trình viên viết mã hiệu quả và dễ bảo trì hơn. Dưới đây là một số phương thức thường được sử dụng khi làm việc với các đối tượng trong JavaScript.
Object.create()
Phương thức Object.create()
cho phép bạn tạo một đối tượng mới, sử dụng một đối tượng hiện có làm nguyên mẫu cho đối tượng mới này. Điều này đặc biệt hữu ích khi bạn muốn xây dựng một chuỗi các đối tượng cùng chia sẻ một nguyên mẫu.
let personPrototype = {
greet: function() {
console.log("Hello!");
}
};
let person = Object.create(personPrototype);
person.greet(); // Output: Hello!
Object.assign()
Object.assign()
được sử dụng để sao chép các giá trị của tất cả các thuộc tính có thể liệt kê từ một hoặc nhiều đối tượng nguồn vào một đối tượng đích. Nó sẽ trả về đối tượng đích.
let target = { a: 1, b: 2 };
let source = { b: 3, c: 4 };
let returnedTarget = Object.assign(target, source);
console.log(target); // Output: { a: 1, b: 3, c: 4 }
console.log(returnedTarget); // Output: { a: 1, b: 3, c: 4 }
Object.keys()
Phương thức Object.keys()
trả về một mảng chứa tất cả các tên thuộc tính có thể liệt kê của một đối tượng đã cho, theo cùng thứ tự như khi sử dụng vòng lặp thông thường.
let person = {
firstName: "John",
lastName: "Doe",
age: 25
};
console.log(Object.keys(person)); // Output: ["firstName", "lastName", "age"]
Object.values()
Tương tự như Object.keys()
, Object.values()
trả về một mảng chứa tất cả các giá trị của thuộc tính của một đối tượng đã cho.
let person = {
firstName: "John",
lastName: "Doe",
age: 25
};
console.log(Object.values(person)); // Output: ["John", "Doe", 25]
Object.entries()
Phương thức Object.entries()
trả về một mảng các cặp [key, value] của chính đối tượng đó.
let person = {
firstName: "John",
lastName: "Doe",
age: 25
};
console.log(Object.entries(person));
// Output: [["firstName", "John"], ["lastName", "Doe"], ["age", 25]]
Object.freeze()
Object.freeze()
được sử dụng để đóng băng một đối tượng. Một khi đối tượng đã bị đóng băng, bạn không thể thay đổi, thêm hoặc xóa các thuộc tính của nó.
let person = {
firstName: "John"
};
Object.freeze(person);
person.firstName = "Jane"; // Không thay đổi được
console.log(person.firstName); // Output: John
Object.seal()
Khác với Object.freeze()
, Object.seal()
chỉ ngăn chặn việc thêm hoặc xóa thuộc tính đối tượng, nhưng vẫn cho phép chỉnh sửa các thuộc tính hiện có.
let person = {
firstName: "John"
};
Object.seal(person);
person.firstName = "Jane"; // Thay đổi được
person.lastName = "Doe"; // Không thêm được mới
console.log(person); // Output: {firstName: "Jane"}
Object.getOwnPropertyDescriptors()
Phương thức Object.getOwnPropertyDescriptors()
trả về một đối tượng chứa tất cả các mô tả thuộc tính tự sở hữu của một đối tượng.
let person = {
firstName: "John",
age: 25
};
console.log(Object.getOwnPropertyDescriptors(person));
/* Output:
{
firstName: {
value: "John",
writable: true,
enumerable: true,
configurable: true
},
age: {
value: 25,
writable: true,
enumerable: true,
configurable: true
}
}
*/
Việc nắm vững các phương thức đối tượng này sẽ giúp lập trình viên nâng cao kỹ năng lập trình JavaScript, đồng thời tạo ra mã nguồn sạch và dễ bảo trì. Hy vọng rằng bài viết này đã cung cấp cho bạn một cái nhìn tổng quan và chi tiết về những phương thức quan trọng trong JavaScript.
Comments