Prototype nghĩa là gì

Msống đầu

Prototype là quan niệm mấu chốt cơ phiên bản trong JavaScript tương đối đặc trưng nhằm triển khai OOP. trong JavaScript. Vì JavaScript là một prototype-based language, không tồn tại có mang class như các ngôn ngữ phía đối tượng người dùng không giống phía đối tượng người dùng khác. Trong bài viết này, ta đang mày mò phương pháp thao tác làm việc của prototype có thể gọi nôm mãng cầu là thừa kế (inheritance) ngơi nghỉ javascript.

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

Prototype là gì?

Prototype là phương pháp cơ mà những object vào javascript thừa kế những hào kiệt từ một object không giống. Tất cả những object trong javascript đều phải có một prototype, với những object này thừa kế những ở trong tính (properties) cũng tương tự thủ tục (methods) trường đoản cú prototype của bản thân mình.

quý khách nên chú ý rằng bản thân prototype là 1 trong object vào JS, được call là prototype object (đối tượng người dùng prototype). Chúng ta cần biết điều đó nhằm tách lầm lẫn cùng với ở trong tính prototype của function.


*
*
*

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

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

Xem thêm: Bí Kíp Học Tiếng Anh Văn Cho Người Mất Căn Bản Tiếng Anh Cho Người Mất Gốc

Tại sao prototype lại đặc biệt quan trọng vào Javascript?

Sự thừa kế vào Javascript

Để triển khai kế thừa trong Js, bạn chỉ cần tạo ra 1 hàm khởi sinh sản. Sau đó thêm các thuộc tính cùng cách làm vào nằm trong tính prototype của hàm khởi sinh sản này.

Các instance tạo nên bởi vì hàm khởi tạo ra này vẫn đựng các thuộc tính và cách tiến hành được tư tưởng làm việc bên trên. Do Javascript không tồn tại khái niệm class phải nhằm tiến hành vấn đề thừa kế nhằm mở rộng áp dụng nlỗi các ngôn từ OOPhường khác, họ đề xuất Prototype.

//Tạo ra 1 hàm khởi 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 nên con (đã dùng làm thừa kế hàm cơ sở)function Dog(_color) this.color = _color;//Thực hiện tại kế thừa, gán hàm khởi chế tác của Animal mang lại 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 trên thì object chophuquoc thực hiện hàm showAge() trực thuộc Animal prototype bởi ta đang gán hàm khởi tạo thành của Animal vào prototype của Dog. Vậy nên bạn có thể thấy rõ sự thừa kế trong js. Object chophuquoc đang kế thừa phần lớn gì sẽ gồm vào Dog.prototype với kế thừa luôn luôn phần đông thuộc tính cơ mà Animal.prototype bao gồm.

Truy cập lệ những ở trong tính của đối tượng: Prototype chain


Prototype rất đặc trưng vào Việc giúp chúng ta truy vấn tới các nằm trong tính với cách tiến hành của đối tượng người sử dụng. Lúc bọn họ truy vấn vào một trong những Property của một Object, JavaScript đang kiếm tìm Property kia phía bên trong thiết yếu Object. Nếu không tồn tại nó đã liên tục tìm lên phía trên Prototype của Object cùng cứ đọng thường xuyên như vậy cho tới khi gặp Object.prototype thì giới hạn cùng đã tạo ra công dụng (undefined nếu như không kiếm thấy).

Xem thêm: Chính Thức Đề Xuất "Một Giá Bán Điện, Cẩn Trọng Khi Tính Mức Giá Điện Dành Cho Sản Xuất

Quá trình lặp lại này được Call là chuỗi prototype (prototype chain) vào Javascript. Chính vấn đề đó cộng nằm trong tính prototype của function khiến cho nguyên lý kế thừa prototype-based đến Javascript.


Chuyên mục: Blogs