Prototype nghĩa là gì
Mở đầu
Prototype là khái niệm chính yếu cơ phiên bản trong JavaScript khá đặc biệt để xúc tiến OOP vào JavaScript. Do JavaScript là 1 trong những prototype-based language, không có khái niệm class như các ngôn ngữ hướng đối tượng người sử dụng khác hướng đối tượng người sử dụng khác. Trong bài viết này, ta sẽ tò mò cách thao tác làm việc của prototype có thể hiểu nôm mãng cầu là kế thừa (inheritance) ngơi nghỉ javascript.
Bạn đang xem: Prototype nghĩa là gì
Prototype là gì?
Prototype là cơ chế mà các object vào javascript kế thừa những tính năng xuất phát từ 1 object khác. Tất cả các object trong javascript đều phải có một prototype, và những object này kế thừa những thuộc tính (properties) tương tự như phương thức (methods) từ bỏ prototype của mình.
Bạn cần để ý rằng bản thân prototype là một object trong JS, được gọi là prototype object (đối tượng prototype). Họ cần biết vấn đề đó để kiêng nhầm lẫn với thuộc tính prototype của function.



Đoạn lấy một ví dụ trên vừa tạo nên một function khởi sản xuất là hàm Person(_age, _name). ở trong tính prototype của hàm đó lại chứa ở trong tính height. Cho nên một object được tạo thành từ function khởi tạo ra này ta sẽ sở hữu được 3 ở trong tính: age, name, với height.
Ta rất có thể truy cập prototype object của đối tượng người sử dụng vừa chế tác (instance vừa tạo) để thấy object này là một trong những object đựng 1 hàm khởi chế tạo và 1 ở trong tính height.
Xem thêm: Thông Tin, Tiểu Sử Về Ca Sĩ Huỳnh Nguyễn Công Bằng Là Ai, Huỳnh Nguyễn Công Bằng Có Vợ Chưa
Tại sao prototype lại đặc biệt quan trọng trong Javascript?
Sự thừa kế trong Javascript
Để triển khai kế thừa trong Js, bạn chỉ cần tạo 1 hàm khởi tạo. Tiếp đến thêm những thuộc tính và cách tiến hành vào trực thuộc tính prototype của hàm khởi tạo này.
Các instance tạo ra bởi hàm khởi chế tạo ra này vẫn chứa các thuộc tính và cách tiến hành được khái niệm ở trên. Do Javascript không có khái niệm class yêu cầu để triển khai việc thừa kế để không ngừng mở rộng ứng dụng như các ngôn ngữ OOP khác, họ cần Prototype.
//Tạo ra 1 hàm khởi sản xuất cơ sởfunction Animal(_age) this.age = _age; //Có thể thêm ở trong tính vào ở trong tính prototype của hàm khởi tạoAnimal.prototype.showAge = function() console.log( this.age );; //Tạo ra 1 hàm khởi tạo bé (sẽ dùng để kế vượt hàm cơ sở)function Dog(_color) this.color = _color;//Thực hiện kế thừa, gán hàm khởi tạo của Animal cho prototype của DogDog.prototype = new Animal();Dog.prototype.showColor = function() console.log( this.color );; //Kiểm tra sự kế thừavar chophuquoc = new Dog("yellow");chophuquoc.age = 3;chophuquoc.showAge(); //3chophuquoc.showColor(); //yellowĐoạn code bên trên thì object chophuquoc áp dụng hàm showAge() ở trong Animal prototype bởi ta sẽ gán hàm khởi sản xuất của Animal vào prototype của Dog. Như vậy bạn cũng có thể thấy rõ sự thừa kế trong js. Object chophuquoc đã thừa kế những gì đã gồm trong Dog.prototype với kế thừa luôn luôn những trực thuộc tính mà lại Animal.prototype có.
Truy cập vào các thuộc tính của đối tượng: Prototype chain
Prototype rất đặc biệt quan trọng trong câu hỏi giúp ta truy vấn tới những thuộc tính và phương thức của đối tượng. Khi bọn họ truy cập vào một Property của một Object, JavaScript đã tìm Property đó bên trong chính Object. Nếu không tồn tại nó sẽ liên tục tìm lên trên mặt Prototype của Object cùng cứ liên tục như thế cho tới khi gặp mặt Object.prototype thì dừng và đến ra hiệu quả (undefined nếu không tìm kiếm thấy).
Xem thêm: Tiểu Sử Quốc Đại - Tiểu Sử Ca Sĩ Quốc Đại
Quá trình lặp lại này được call là chuỗi prototype (prototype chain) trong Javascript. Chính điều đó cộng thuộc tính prototype của function khiến cho cơ chế kế thừa prototype-based đến Javascript.