Prototype nghĩa là gì

Mlàm việc đầu

Prototype là có mang chính yếu cơ bạn dạng trong JavaScript hơi đặc biệt để tiến hành OOP vào JavaScript. Vì JavaScript là 1 prototype-based language, không có khái niệm class như các ngữ điệu hướng đối tượng người tiêu dùng không giống hướng đối tượng người tiêu dùng khác. Trong nội dung bài viết này, ta đang mày mò giải pháp thao tác của prototype rất có thể phát âm nôm na là kế thừa (inheritance) sinh hoạt javascript.

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

Prototype là gì?

Prototype là hiệ tượng nhưng mà các object trong javascript kế thừa những công dụng từ một object khác. Tất cả các object vào javascript đều có một prototype, và các object này kế thừa những trực thuộc tính (properties) cũng như phương thức (methods) từ prototype của chính mình.

quý khách hàng yêu cầu để ý rằng phiên bản thân prototype là một trong object trong JS, được Điện thoại tư vấn là prototype object (đối tượng prototype). Chúng ta cần phải biết vấn đề đó để rời nhầm lẫn cùng với nằm 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 này lại đựng trực thuộc tính height. Cho nên một object được tạo ra từ bỏ function khởi chế tạo này ta sẽ có đượ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 người dùng vừa chế tác (instance vừa tạo) để xem object này là một trong những object đựng 1 hàm khởi chế tác cùng 1 trực thuộc tính height.

Xem thêm: Khí Hậu Việt Nam Thuộc Kiểu Khí Hậu Nào ? Việt Nam Nước Ta Thuộc Kiểu Khí Hậu Nào

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

Sự kế thừa vào Javascript

Để tiến hành kế thừa trong Js, chúng ta chỉ việc chế tác 1 hàm khởi tạo. Sau đó thêm những trực thuộc tính cùng thủ tục vào nằm trong tính prototype của hàm khởi chế tạo ra này.

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

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


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

Xem thêm: Tại Sao Khi Đun Nước Ta Không Nên Đổ Nước Thật Đầy Ấm ? Trang 61 Sgk Vật Lí 6

Quá trình lặp lại này được Hotline 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 tạo cho qui định thừa kế prototype-based đến Javascript.