Javascript Prototype là gì?

Chúng tôi vui mừng chia sẻ kiến thức về từ khóa Game prototype la gi và hy vọng rằng nó sẽ hữu ích cho bạn đọc. Bài viết tập trung trình bày ý nghĩa, vai trò và ứng dụng của từ khóa này trong việc tối ưu hóa nội dung trang web và chiến dịch tiếp thị trực tuyến. Chúng tôi cung cấp các phương pháp tìm kiếm, phân tích và lựa chọn từ khóa phù hợp, cùng với các chiến lược và công cụ hữu ích. Hy vọng rằng thông tin mà chúng tôi chia sẻ sẽ giúp bạn xây dựng chiến lược thành công và thu hút lưu lượng người dùng. Xin chân thành cảm ơn sự quan tâm và hãy tiếp tục theo dõi blog của chúng tôi để cập nhật những kiến thức mới nhất.

Mở đầu

Prototype là khái niệm cốt lõi cơ bản trong JavaScript khá quan trọng để thực thi OOP trong JavaScript. Vì JavaScript là một prototype-based language, không có khái niệm class như các tiếng nói hướng đối tượng người tiêu dùng khác hướng đối tượng người tiêu dùng khác. Trong nội dung bài viết này, ta sẽ tìm hiểu cách thao tác làm việc của prototype có thể hiểu nôm na là thừa kế (inheritance) ở javascript.

Bạn Đang Xem: Javascript Prototype là gì?

Prototype là gì?

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

Bạn cần phải lưu ý rằng bản thân prototype là một object trong JS, được gọi là prototype object (đối tượng người tiêu dùng prototype). Tất cả chúng ta cần phải biết điều này để tránh nhầm lẫn với tính chất prototype của function.

Vài điều cần lưu ý:

  1. Trong Javascript, một hàm (function) cũng được xem như là 1 object. Và hàm có một tính chất gọi là tính chất prototype, bản thân tính chất prototype này mang giá trị là 1 trong những object.
  2. Nếu ta dùng hàm để tạo ra 1 mẫu khởi tạo đối tượng người tiêu dùng, thì chúng ta có thể thêm được những tính chất hoặc phương thức vào tính chất prototype của hàm khởi tạo để thực hiện thừa kế. Tất cả những đối tượng người tiêu dùng con tạo ra bởi hàm khởi tạo đều mang các giá trị trong tính chất prototype của hàm này.
  3. Các object trong Javascript có một khái niệm gọi là prototype attribute, đặc tính này có mức giá trị trỏ tới prototype object mà nó thừa kế tính chất. Ta dùng tính chất __proto__ để truy cập tới prototype object.

Tạo ra Prototype ra làm sao?

Xem Thêm : Brand Stretching là gì? Bí Quyết Mở Rộng Thương Hiệu hiệu quả

Ta khai báo một hàm khởi tạo:

//Tạo ra 1 mẫu khởi tạo, cũng là tạo ra 1 prototype object function Person(_age, _name){ this.age = _age; this.name = _name; } //Có thể thêm tính chất vào tính chất prototype của hàm khởi tạo Person.prototype.height = 0; //Tạo ra 1 instance của Person //Có cả 3 tính chất của mẫu khởi tạo Person var jack_person = new Person(10, “Jack”); for (var att in jack_person){ console.log(att); } //Xem đối tượng người tiêu dùng prototype của instance vừa tạo jack_person.__proto__;

prototype là gì

Đoạn ví dụ trên vừa tạo ra một function khởi tạo là hàm Person(_age, _name). Tính chất prototype của hàm này lại chứa tính chất height. Cho nên một object được tạo ra từ function khởi tạo này ta sẽ có được 3 tính chất: age, name, và height.

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

Vì sao prototype lại quan trọng trong Javascript?

Sự thừa kế trong Javascript

Để thực hiện thừa kế trong Js, bạn chỉ việc tạo 1 hàm khởi tạo. Sau đó thêm các tính chất và phương thức vào tính chất prototype của hàm khởi tạo này.

Xem Thêm : Phân tích về raid trong game là gì

Các instance tạo ra bởi hàm khởi tạo này sẽ chứa các tính chất và phương thức được khái niệm ở trên. Do Javascript không có khái niệm class nên để thực hiện việc thừa kế để mở rộng ứng dụng như các tiếng nói OOP khác, tất cả chúng ta cần Prototype.

//Tạo ra 1 hàm khởi tạo cơ sở function Animal(_age){ this.age = _age; } //Có thể thêm tính chất vào tính chất prototype của hàm khởi tạo Animal.prototype.showAge = function(){ console.log( this.age ); }; //Tạo ra 1 hàm khởi tạo con (sẽ dùng làm thừa kế hàm cơ sở) function Dog(_color){ this.color = _color; } //Thực hiện thừa kế, gán hàm khởi tạo của Animal cho prototype của Dog Dog.prototype = new Animal(); Dog.prototype.showColor = function(){ console.log( this.color ); }; //Kiểm tra sự thừa kế var chophuquoc = new Dog(‘yellow’); chophuquoc.age = 3; chophuquoc.showAge(); //3 chophuquoc.showColor(); //yellow

Đoạn code trên thì object chophuquoc sử dụng hàm showAge() thuộc Animal prototype vì ta đã gán hàm khởi tạo của Animal vào prototype của Dog. Như vậy chúng ta có thể thấy rõ sự thừa kế trong js. Object chophuquoc đã thừa kế những gì đã có trong Dog.prototype và thừa kế luôn những tính chất mà Animal.prototype có.

Truy cập vào các tính chất của đối tượng người tiêu dùng: Prototype chain

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

Quá trình tái diễn này được gọi là chuỗi prototype (prototype chain) trong Javascript. Chính điều này cộng tính chất prototype của function tạo nên cơ chế thừa kế prototype-based cho Javascript.

Có thể bạn muốn xem thêm:

  • TypeScript thoáng qua
  • Javascript prototype chuyên sâu
  • JavaScript Closures là gì?

You May Also Like

About the Author: v1000

tỷ lệ kèo trực tuyến manclub 789club