Đối với những newbie trong ngành ngôn ngữ lập trình, các khái niệm như Prototype hay Javascript chắc hẳn vẫn còn rất mới lạ. Tuy nhiên đây lại là những kiến thức cốt lõi mà bạn phải nắm chắc nếu muốn lập trình tốt. Vậy hãy cùng Vietclass.vn tìm hiểu sâu hơn về khái niệm này nhé
Mục Lục
Prototype là gì?
Về bản chất, Prototype là một dạng cơ chế quan trọng để thực hiện mô hình OOP của Javascript. Trong cơ chế này, các object của javascript kế thừa lại những tính năng của một object khác.
Prototype là gì?
Mọi object có trong javascript đều đi kèm với một prototype, các object này được kế thừa lại những thuộc tính và phương thức đi kèm.
Nói cách khác,đây là một object có trong javascript, được coi là đối tượng prototype. Đừng nhầm lẫn nó với thuộc tính có trong function.
Prototype được sử dụng để làm gì?
Trong JavaScript không có khái niệm class – một khái niệm hầu hết các ngôn ngữ lập trình hiện đại, bậc cao đều có. Và nó được sinh ra nhằm để kế thừa các hàm, các trường của một object nào đó.
Bằng một góc độ khác, bạn cũng có thể thấy rằng: Prototype có phần giống với class khi đều được sử dụng để thực hiện việc kế thừa.

Thuộc tính và phương thức hoạt động của
Hai thuộc tính quan trọng
Trước khi đi vào cách thức hoạt động của Prototype, chúng ta sẽ cần phải tìm hiểu về 2 thuộc tính quan trọng nhất làm nên “thương hiệu” của nó bao gồm:
- Tính kế thừa
- Khả năng truy cập vào thuộc tính đối tượng
Tính kế thừa
Tính kế thừa là một trong những tính chất/ đặc điểm nổi bật nhất . Trước khi phiên bản ES5 ra đời, Prototype là điều duy nhất hỗ trợ JavaScript có thể ứng dụng được OOP. Từ phiên bản ES5 trở về sau, class ra đời nhằm hỗ trợ thêm nhiều mục đích khác chứ không phải để thay thế.
Khả năng truy cập vào thuộc tính đối tượng
Thuộc tính quan trọng và là nhiệm vụ quan trọng chính là hỗ trợ các lập trình viên có thể xác định được thuộc tính và phương thức trên 1 đối tượng.
Prototype object sẽ là nơi chứa các thuộc tính, phương thức được kế thừa. Quá trình kiểm tra này sẽ được JavaScript thực hiện một cách tự động và bạn chỉ cần truy cập vào Prototype object là được.

Tổng hợp và bổ sung: Lê Phạm Thục Oanh