Mở đầu

Prototype là quan niệm mấu chốt cơ phiên bản vào JavaScript tương đối quan trọng đặc biệt để thực hiện OOP vào JavaScript. Vì JavaScript là một prototype-based language, không tồn tại khái niệm class nhỏng các ngôn ngữ hướng đối tượng người dùng khác phía đối tượng người sử dụng khác. Trong bài viết này, ta sẽ khám phá bí quyết thao tác của prototype có thể đọc nôm na là kế thừa (inheritance) sinh hoạt javascript.

Bạn đang xem: Prototyping là gì

Prototype là gì?

Prototype là nguyên tắc nhưng những object vào javascript kế thừa những tác dụng xuất phát từ một object không giống. Tất cả những object trong javascript đều phải sở hữu một prototype, với những object này kế thừa những trực thuộc tính (properties) cũng giống như cách tiến hành (methods) từ bỏ prototype của bản thân.

Quý khách hàng nên chú ý rằng phiên bản thân prototype là 1 trong object trong JS, được Điện thoại tư vấn là prototype object (đối tượng prototype). Chúng ta cần biết vấn đề này nhằm tránh nhầm lẫn 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 chứa nằm trong tính height. Cho bắt buộc một object được tạo ra tự function khởi tạo này ta sẽ sở hữu 3 ở trong tính: age, name, cùng height.

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

Xem thêm: Giá Trị Của Thương Hiệu Hay Brand Value Là Gì, Các Thành Phần

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

Sự thừa kế trong Javascript

Để thực hiện kế thừa vào Js, chúng ta chỉ việc sinh sản 1 hàm khởi chế tạo. Sau kia thêm những nằm trong tính với 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 thành bởi hàm khởi tạo ra này vẫn chứa các nằm trong tính và thủ tục được định nghĩa ở bên trên. Do Javascript không có quan niệm class đề nghị để triển khai việc kế thừa để mở rộng ứng dụng nhỏng những ngôn ngữ OOP. không giống, chúng ta phải Prototype.

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

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


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

Xem thêm: Cách Chơi Avatar Nhanh Lên Cấp, Hướng Dẫn Tăng Level Trong Game Avatar

Quá trình tái diễn này được Gọi là chuỗi prototype (prototype chain) vào Javascript. Chính điều đó cộng thuộc tính prototype của function tạo cho qui định thừa kế prototype-based đến Javascript.


Chuyên mục: KHÁI NIỆM LÀ GÌ
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 *