Protype trong javascript là gì?
Thứ Bảy, 26/08/2023 · 3 phút đọc
Trong JavaScript, prototype là một thuộc tính có sẵn của mọi đối tượng (objects) và được sử dụng để chia sẻ các thành viên và phương thức giữa các đối tượng cùng một lớp hoặc kiểu.
Một số điểm quan trọng về prototype trong JavaScript:
- Prototype là một đối tượng: Mỗi đối tượng trong JavaScript đều có một
prototype, mà là một đối tượng khác.prototypenày có thể là một đối tượng rỗng hoặc chứa các thành viên (thuộc tính và phương thức). - Kế thừa thông qua prototype: Khi bạn truy cập một thành viên của một đối tượng, JavaScript trước tiên kiểm tra xem nó có tồn tại trong đối tượng đó không. Nếu không, nó sẽ tìm trong
prototypecủa đối tượng đó. Nếu không tìm thấy, nó sẽ tiếp tục tìm trongprototypecủaprototype, và cứ tiếp tục như vậy cho đến khi nó tìm thấy hoặc không tìm thấy thành viên đó. - Constructor và Prototype: Mỗi hàm tạo đối tượng (constructor function) có một
prototype. Khi bạn tạo một đối tượng từ hàm tạo đối tượng đó bằng cách sử dụngnew, đối tượng mới sẽ thừa hưởngprototypecủa hàm tạo đối tượng đó.
Dưới đây là một ví dụ đơn giản về cách sử dụng prototype trong JavaScript:
// Định nghĩa một hàm tạo đối tượng
function Person(name, age) {
this.name = name;
this.age = age;
}
// Thêm một phương thức vào prototype của Person
Person.prototype.sayHello = function() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
};
// Tạo đối tượng từ Person
const person1 = new Person('Alice', 30);
const person2 = new Person('Bob', 25);
// Gọi phương thức từ prototype
person1.sayHello(); // In ra: Hello, my name is Alice and I am 30 years old.
person2.sayHello(); // In ra: Hello, my name is Bob and I am 25 years old.Trong ví dụ này, Person là một hàm tạo đối tượng, và ta đã thêm một phương thức sayHello vào prototype của Person. Khi ta tạo đối tượng person1 và person2 từ Person, chúng thừa hưởng phương thức sayHello từ prototype và có thể gọi nó.
- Ảnh đại diện bài viết -