Mnghỉ ngơi đầu

Prototype là có mang chủ công cơ bạn dạng trong JavaScript tương đối đặc biệt quan trọng để triển khai OOPhường. vào JavaScript. Vì JavaScript là 1 trong những prototype-based language, không tồn tại khái niệm class nhỏng các ngôn từ phía đối tượng người tiêu dùng không giống phía đối tượng người tiêu dùng khác. Trong bài viết này, ta sẽ tò mò phương pháp thao tác làm việc của prototype hoàn toàn có thể hiểu nôm na là kế thừa (inheritance) sinh sống javascript.

Bạn đang xem: Prototype javascript là gì

Prototype là gì?

Prototype là cách thức mà lại những object vào javascript thừa kế những kĩ năng xuất phát điểm từ một object khác. Tất cả các object vào javascript đều phải có một prototype, với những object này thừa kế các thuộc tính (properties) tương tự như cách làm (methods) từ bỏ prototype của bản thân mình.

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


*
*
*

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

Ta hoàn toàn có thể truy vấn prototype object của đối tượng người tiêu dùng vừa sinh sản (instance vừa tạo) để thấy object này là 1 trong object đựng 1 hàm khởi chế tạo ra và 1 nằm trong tính height.

Xem thêm: Khánh Zhouzhou - Tiểu Sử Diễn Viên Duy Khánh Zhou Zhou

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 thừa kế trong Js, chúng ta chỉ cần tạo ra 1 hàm khởi chế tạo. Sau đó thêm các thuộc tính cùng cách thức vào trực thuộc tính prototype của hàm khởi tạo nên này.

Các instance tạo thành bởi hàm khởi sinh sản này đã đựng những ở trong tính và thủ tục được có mang nghỉ ngơi trên. Do Javascript không có định nghĩa class yêu cầu nhằm tiến hành câu hỏi kế thừa nhằm mở rộng ứng dụng như những ngôn từ OOPhường. khác, bọn họ phải 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 thuộc tính vào nằm 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 chế tạo ra nhỏ (đang dùng để làm thừa kế hàm cơ sở)function Dog(_color) this.color = _color;//Thực hiện nay kế thừa, gán hàm khởi tạo thành 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 trên thì object chophuquoc thực hiện hàm showAge() trực thuộc Animal prototype vì chưng ta vẫn gán hàm khởi tạo thành của Animal vào prototype của Dog. Bởi vậy bạn có thể thấy rõ sự kế thừa trong js. Object chophuquoc đang kế thừa phần đa gì vẫn tất cả vào Dog.prototype cùng kế thừa luôn đều trực thuộc tính nhưng Animal.prototype có.

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


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

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

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *