Prototype là một cơ chế quan trọng trong Javascript, cho phép lập trình viên xây dựng mô hình lập trình hướng đối tượng (OOP) và cho phép các đối tượng kế thừa tính năng từ nhau. Mỗi đối tượng trong Javascript đều sở hữu một thuộc tính nội bộ gọi là Prototype, và ngôn ngữ này tự động liên kết mọi hàm với đối tượng tương ứng.
Tìm hiểu về Prototype trong Javascript
- Mỗi hàm trong Javascript đều là một object và có thuộc tính prototype riêng.
- Thuộc tính prototype của hàm có thể được truy cập và sửa đổi, trong khi thuộc tính prototype của đối tượng thường không thể nhìn thấy (invisible).
- Prototype cho phép bạn thêm các thuộc tính bổ sung, và những thuộc tính này sẽ được chia sẻ giữa tất cả các phiên bản của hàm khởi tạo.
Tìm hiểu về Prototype trong Javascript
Những lưu ý về Prototype
- Hàm là Object: Mỗi hàm trong Javascript cũng được xem như một object và tự nó có thuộc tính prototype.
- Kế thừa thông qua Prototype: Khi khởi tạo một đối tượng bằng một hàm, bạn có thể thêm thuộc tính hoặc phương thức vào thuộc tính prototype của hàm khởi tạo để thực hiện kế thừa. Tất cả các đối tượng con sẽ tự động có các giá trị trong thuộc tính prototype đó.
- Prototype attribute: Đối tượng trong Javascript có khái niệm prototype attribute, cho phép trỏ tới đối tượng prototype mà nó kế thừa. Để truy cập đối tượng prototype, bạn có thể sử dụng thuộc tính
__proto__
.Những lưu ý về Prototype
Các cách thiết lập Prototype
Có nhiều cách để thiết lập prototype cho một object trong Javascript. Hai phương pháp phổ biến nhất là Object.create() và constructor.

Thiết lập Prototype bằng Object.create()
Phương thức Object.create()
cho phép bạn tạo một object mới, với một object khác làm nguyên mẫu.
Ví dụ:
const personPrototype = {
greet() {
console.log('hello!');
}
};
const carl = Object.create(personPrototype);
carl.greet(); // hello!
Trong ví dụ này, bạn đã tạo một object personPrototype
với phương thức greet()
. Sau đó, sử dụng Object.create()
để tạo ra đối tượng mới mà có personPrototype
làm prototype.
Thiết lập Prototype bằng constructor
Tất cả các hàm trong Javascript đều có chung thuộc tính prototype. Khi bạn gọi một hàm như một constructor, tất cả các thuộc tính của hàm sẽ được thiết lập làm prototype cho đối tượng mới được tạo.
Ví dụ:
const personPrototype = {
greet() {
console.log(`hello, my name is ${this.name}!`);
}
};
function Person(name) {
this.name = name;
}
Person.prototype = personPrototype;
Person.prototype.constructor = Person;
Trong ví dụ này, bạn đã tạo ra một object personPrototype
với phương thức greet()
, cùng với hàm khởi tạo Person
. Sau đó, bạn chỉ rõ thuộc tính prototype của hàm Person
trỏ tới personPrototype
và cập nhật thuộc tính constructor của prototype cho hàm Person
.
Prototype và Kế thừa
Một trong những điểm nổi bật của Prototype là khả năng kế thừa. Cơ chế này rất quan trọng trong Javascript, đặc biệt trong các phiên bản trước ES5 khi không có khái niệm class.
Để thực hiện kế thừa, lập trình viên cần khởi tạo một hàm và thêm các thuộc tính cùng phương thức với thuộc tính prototype cho hàm đó. Các instance được tạo ra từ hàm khởi tạo sẽ có quyền truy cập đến các phương thức và thuộc tính đã được định nghĩa trước đó.
Cách sử dụng Prototype trong Javascript
Prototype có hai cách hoạt động chính:
- Khởi tạo Object thông thường: Lập trình viên có thể khởi tạo object đơn giản và thêm các thuộc tính bổ sung vào hàm.
- Truy cập thuộc tính Prototype: Để tìm kiếm thuộc tính prototype, bạn có thể truy cập vào các thuộc tính của một đối tượng.
Cách sử dụng Prototype trong Javascript
Máy chạy Javascript sẽ tự động tìm kiếm thuộc tính yêu cầu. Nếu thuộc tính đó tồn tại, nó sẽ trả về giá trị; ngược lại, sẽ không có kết quả.
Bài viết này từ 130 Media đã giúp bạn hiểu rõ hơn về Prototype cũng như cách thiết lập Prototype trong Javascript. Hy vọng những thông tin này sẽ hữu ích cho bạn trong việc nắm vững ngôn ngữ Javascript.
Tham khảo thêm:
- Top ngôn ngữ lập trình phần mềm tốt nhất hiện nay
- Tìm hiểu cơ bản về ngôn ngữ lập trình Java
Bài viết liên quan:
Thiết Kế Website Ngành Hàng May Đo Thủ Công Hiện Đại và Tối Ưu
Thiết Kế Website Nhập Hàng Trung Quốc Chuyên Nghiệp Và Tối Ưu Hóa SEO
Mobile Friendly: Ý nghĩa và hướng dẫn tối ưu hóa trang web cho thiết bị di động
5+ Mẫu Landing Page Tết, Theme LadiPage Bán Hàng Tết 2025 Đẹp
5+ Mẫu Website Tết, Giao Diện Bán Hàng Tết 2025 Ấn Tượng
Cách Tạo Website Chuyên Nghiệp Chỉ Trong 7 Bước Đơn Giản