Protype trong javascript là gì?
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.prototype
nà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
prototype
của đối tượng đó. Nếu không tìm thấy, nó sẽ tiếp tục tìm trongprototype
củ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ưởngprototype
củ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ó.
- Featured image -
