Prototype nghĩa là gì

Msinh sống đầu

Prototype là quan niệm chủ đạo cơ phiên bản trong JavaScript khá quan trọng đặc biệt nhằm xúc tiến OOPhường vào JavaScript. Vì JavaScript là 1 trong prototype-based language, không tồn tại tư tưởng class như những ngữ điệu phía đối tượng người dùng không giống hướng đối tượng người dùng không giống. Trong nội dung bài viết này, ta vẫn khám phá phương pháp làm việc của prototype hoàn toàn có thể gọi nôm na là kế thừa (inheritance) sống javascript.

Bạn đang xem: Prototype nghĩa là gì

Prototype là gì?

Prototype là chế độ nhưng các object vào javascript kế thừa các chức năng xuất phát từ 1 object không giống. Tất cả các object vào javascript đều sở hữu một prototype, với những object này thừa kế những thuộc tính (properties) cũng tương tự thủ tục (methods) tự prototype của chính mình.

quý khách hàng bắt buộc để ý rằng bạn dạng thân prototype là một object vào JS, được điện thoại tư vấn là prototype object (đối tượng người tiêu dùng prototype). Chúng ta nên biết vấn đề đó nhằm rời nhầm lẫn cùng với trực thuộc tính prototype của function.


*
*
*

Đoạn ví dụ trên vừa tạo nên một function khởi tạo là hàm Person(_age, _name). Thuộc tính prototype của hàm đó lại cất thuộc tính height. Cho đề xuất một object được tạo nên trường đoản cú function khởi sản xuất này ta sẽ sở hữu được 3 trực thuộc tính: age, name, với height.

Ta hoàn toàn có thể truy cập prototype object của đối tượng vừa tạo thành (instance vừa tạo) giúp thấy object này là 1 trong object cất 1 hàm khởi tạo thành với 1 thuộc tính height.

Xem thêm: 6 Tips Thiết Kế Portfolio Design Là Gì ? Tổng Hợp Các Mẫu Portfolio Đẹp Nhất

Tại sao prototype lại đặc trưng vào Javascript?

Sự thừa kế trong Javascript

Để tiến hành kế thừa vào Js, bạn chỉ việc tạo 1 hàm khởi sản xuất. Sau đó thêm những thuộc tính và cách làm vào thuộc tính prototype của hàm khởi sinh sản này.

Các instance tạo thành do hàm khởi chế tạo ra này vẫn cất các ở trong tính cùng cách tiến hành được có mang sống trên. Do Javascript không tồn tại quan niệm class yêu cầu để thực hiện vấn đề thừa kế nhằm không ngừng mở rộng vận dụng nhỏng các ngôn từ OOPhường không giống, họ phải Prototype.

//Tạo ra 1 hàm khởi chế tạo cơ sởfunction Animal(_age) this.age = _age; //cũng có thể thêm nằ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é (đã dùng làm kế thừa hàm cơ sở)function Dog(_color) this.color = _color;//Thực hiện nay kế thừa, gán hàm khởi chế tác của Animal cho prototype của DogDog.prototype = new Animal();Dog.prototype.showmàu sắc = 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 sử dụng hàm showAge() trực thuộc Animal prototype vì chưng ta đã gán hàm khởi chế tác của Animal vào prototype của Dog. Như vậy chúng ta cũng có thể thấy rõ sự thừa kế trong js. Object chophuquoc đang kế thừa phần đa gì sẽ có trong Dog.prototype với kế thừa luôn những nằm trong tính nhưng Animal.prototype có.

Truy ctràn vào các trực thuộc tính của đối tượng: Prototype chain


Prototype hết sức quan trọng đặc biệt vào bài toán tạo điều kiện cho ta truy vấn tới các trực thuộc tính cùng phương thức của đối tượng người sử dụng. Khi chúng ta truy cập vào trong 1 Property của một Object, JavaScript đã tra cứu Property kia bên phía trong thiết yếu Object. Nếu không có nó sẽ liên tiếp tra cứu lên phía trên Prototype của Object cùng cđọng liên tục như thế cho đến khi gặp gỡ Object.prototype thì giới hạn cùng đã tạo ra tác dụng (undefined trường hợp không tìm kiếm thấy).

Xem thêm: Làm Presale Là Gì ? Những Kỹ Năng Cần Có Của Người Làm Pre Sale

Quá trình tái diễn này được Hotline là chuỗi prototype (prototype chain) trong Javascript. Chính điều này cộng thuộc tính prototype của function làm cho phương pháp thừa kế prototype-based đến Javascript.


Chuyên mục: Kiến Thức