Prototype là gì? Tìm hiểu về Prototype trong JavaScript

Nguồn bài viết: Prototype là gì? Tìm hiểu về Prototype trong JavaScript
Khi học lập trình với JavaScript, chắc chắn bạn sẽ gặp những câu hỏi như: Nguyên mẫu là gì? Kế thừa là gì? Khả năng tiếp cận các thuộc tính đối tượng là gì? Và nhiều câu hỏi khác. Để giải đáp một phần thắc mắc của bạn, thuthuatkiemtien.com sẽ trả lời câu hỏi “Nguyên mẫu là gì?” cũng như các thuộc tính nổi bật của Prototype – một khái niệm rất quan trọng trong JavaScript.
Tìm hiểu về Nguyên mẫu
Prototype là một khái niệm rất dễ nhầm lẫn với một số khái niệm khác, cũng như khái niệm Prototype trong JavaScript rất khó hiểu đối với người mới! Và nội dung tóm tắt trong 1 bài viết này sẽ khó đảm bảo rằng bạn có thể hiểu 100% về Prototype!
Nguyên mẫu là gì?
JavaScript là một ngôn ngữ động và bạn có thể đính kèm thuộc tính A vào bất kỳ thuộc tính nào sự vật – sự vật bất kì. Ví dụ:
function HocSinh() {
this.name="Mmeo";
this.gender="Male";
}
var hosObj1 = new HocSinh();
hosObj1.age = 15;
alert(hosObj1.age); // 15
var hosObj2 = new HocSinh();
alert(hosObj2.age); // undefined
Như bạn có thể thấy trong ví dụ trên, thuộc tính age được định nghĩa trong hosObj1. Trong khi đó, hosObj2 chỉ có một thuộc tính là HocSinh và thuộc tính age thuộc hosObj1.
Từ ví dụ này, chúng ta có thể rút ra rằng: Process hosObj2 nhận thuộc tính age của hosObj1 – hoạt động kế thừa và hosObj1 có thể chia sẻ tài sản của nó cho nhiều hosObj3, 4, 5, 6, 7, …, thì hosObj1 sẽ được gọi là: Nguyên mẫu.
Nguyên mẫu cũng là một trong những cơ chế quan trọng nhất mà người dùng có thể triển khai mẫu OOP trong JavaScript.
Nguyên mẫu được sử dụng để làm gì?
Trong JavaScript không có khái niệm về lớp – một khái niệm mà hầu hết các ngôn ngữ lập trình cấp cao, hiện đại đều có. Và Prototype được sinh ra để kế thừa các chức năng và trường của một đối tượng nào đó.
Ở một góc độ khác, bạn cũng có thể thấy rằng: Prototype có phần giống với class khi cả hai đều được sử dụng để thực hiện kế thừa.

Thuộc tính và phương thức hoạt động của Prototype
Hai thuộc tính quan trọng của Prototype
Trước khi đi vào cách thức hoạt động của Prototype, chúng ta sẽ cần tìm hiểu về hai thuộc tính quan trọng nhất tạo nên “thương hiệu” của Prototype bao gồm:
- Di sản
- Khả năng tiếp cận các thuộc tính đối tượng
Di sản
Tính kế thừa là một trong những thuộc tính / đặc điểm nổi bật nhất của Nguyên mẫu. Trước khi phiên bản ES5 ra mắt, Prototype là thứ duy nhất hỗ trợ JavaScript có thể được áp dụng cho OOP. Từ phiên bản ES5 trở về sau, class được sinh ra để hỗ trợ nhiều mục đích khác chứ không phải để thay thế Prototype.
Khả năng tiếp cận các thuộc tính đối tượng
Một thuộc tính quan trọng và cũng là một nhiệm vụ quan trọng của Prototype là giúp người lập trình định nghĩa các thuộc tính và phương thức trên một đối tượng.
Đối tượng Prototype sẽ là nơi kế thừa các thuộc tính và phương thức. Việc kiểm tra này sẽ được thực hiện tự động bằng JavaScript và bạn chỉ cần truy cập vào đối tượng Prototype.

Nguyên mẫu hoạt động như thế nào?
Về lý thuyết, Prototype sẽ có 2 cách hoạt động bao gồm:
- Thêm thuộc tính Prototype vào đối tượng.
- Tìm thuộc tính Nguyên mẫu của các công cụ JavaScript
Để dễ hiểu hơn, trước tiên bạn cần có một số kiến thức về JavaScript. Nếu không, thuthuatkiemtien.com sẽ cố gắng làm cho nó đơn giản nhất có thể để bạn hiểu.
Thêm thuộc tính Prototype vào đối tượng
Đối với cách làm việc này, lập trình viên sẽ khởi tạo các đối tượng theo cách thông thường. Sau khi tạo hàm, bạn có thể đặt một số thuộc tính khác vào hàm. Các thuộc tính này sẽ được trỏ tới đối tượng Prototype của hàm xây dựng.
Giải thích đơn giản: quy trình của cách này bao gồm 2 giai đoạn chính:
- Hàm gửi yêu cầu đến Constructor
- Hàm tạo xử lý càng xa càng tốt và trả về kết quả tương ứng (trường hợp).
Ví dụ: bạn khởi tạo một “người” như sau:
function Nguoi(firstName, lastName) {
this.firstName = firstName,
this.lastName = lastName,
this.fullName = function() {
return this.firstName + " " + this.lastName;
}
}
Tiếp theo, chúng ta sẽ tạo thêm 2 đối tượng gồm person1 và person2 bằng Constructor như sau:
var nguoi1 = new Person("Pew", "Pew");
var nguoi2 = new Person("Thanh", "Do");
Khi bạn tạo hàm Nhân loại, JavaScript sẽ tạo thuộc tính Prototype vào hàm. Khi nào người1 gửi yêu cầu, Constructor show person1 out, Constructor sẽ làm việc chăm chỉ để trả về 1 ví dụ.
Tìm thuộc tính Nguyên mẫu của các công cụ JavaScript
Bên cạnh khả năng thêm thuộc tính, Nguyên mẫu cũng có thể giúp bạn tìm thuộc tính Nguyên mẫu. Nếu bạn muốn tìm kiếm diễn ra, bạn cần có thể truy cập các thuộc tính của đối tượng.
Sau khi hoàn tất, các công cụ JavaScript sẽ tự động tìm kiếm thuộc tính bạn đang yêu cầu. Nếu thuộc tính thực sự có trong chương trình, thuộc tính đó sẽ được xuất ngay lập tức và ngược lại,

Các trường hợp sử dụng và lưu ý khi sử dụng Prototype
Khi nào nên sử dụng Prototypes?
Hầu hết các ngành đều có thể áp dụng Prototype và đặc biệt là ngành công nghệ thông tin hay những ngành có thể bỏ ra chi phí cực thấp để tạo ra Prototype.
Nguyên mẫu sẽ ẩn việc trao đổi đối tượng giữa các máy khách. Vì vậy, muốn làm được điều này, bạn sẽ cần copy các giá trị hiện có của đối tượng => tạo một mẫu mới và dán vào để sử dụng. Điều này sẽ hạn chế thiệt hại nếu có trong quá trình thử nghiệm.
Những điều cần lưu ý trước khi sử dụng Prototype
thuthuatkiemtien.com gợi ý bạn nên lưu ý và khắc phục nếu muốn hiệu quả tốt nhất:
- Bạn cần phải thông thạo JavaScript và càng giỏi tiếng Anh càng tốt để nghiên cứu tài liệu.
- Trong JavaScript, hàm sẽ được gọi là một đối tượng và đối tượng này sẽ có thuộc tính Nguyên mẫu. Thay đổi thuộc tính Prototype sẽ cung cấp một giá trị rất khác cho đối tượng.
- Các đối tượng trong JavaScript được gọi bằng cách sử dụng khái niệm Thuộc tính nguyên mẫu. Thuộc tính nguyên mẫu là các thuộc tính có giá trị trỏ đến Đối tượng nguyên mẫu mà chúng kế thừa. Sau đó, bạn có thể sử dụng thuộc tính _proto_ để truy cập Đối tượng Nguyên mẫu.
- Trong trường hợp bạn muốn tạo một hàm để tạo một loạt các mẫu Prototype Object, bạn có thể “bất cẩn” áp dụng thêm các thuộc tính và phương thức cho hàm Prototype của Prototype. Khi các đối tượng con được tạo ra, chúng mang giá trị chứa trong thuộc tính Nguyên mẫu của hàm này.
Đến đây, thuthuatkiemtien.com mong rằng các bạn có thể hiểu rõ hơn về Prototype là gì cũng như thông tin về các thuộc tính, cách thức hoạt động, những lưu ý và cả những trường hợp điển hình có thể áp dụng Prototype. Tuy nhiên, trên thực tế, khi bắt tay vào làm, bạn sẽ thấy việc này phức tạp hơn nhiều so với lý thuyết. Nhưng thuthuatkiemtien.com có niềm tin rằng một khi bạn bắt tay vào làm, bạn sẽ hoàn thành sản phẩm đến cùng! Chúc các bạn luôn thành công trên con đường lập trình với JavaScript!
Câu hỏi thường gặp về Nguyên mẫu
Học JavaScript để làm gì?
Với JavaScript, bạn có thể: tăng trải nghiệm người dùng khi sử dụng trang web của bạn, tạo các chi tiết động có thể tương tác với người dùng trang web và bạn cũng có thể sử dụng JavaScript để tạo một số trò chơi đơn giản trên web!
Tôi có nên học JavaScript hay không?
Câu trả lời sẽ phụ thuộc vào bạn, ước mơ, mong muốn và khả năng của bạn. Nếu bạn muốn học lập trình để phát triển web, ứng dụng web thì JavaScript là ngôn ngữ bạn đang tìm kiếm. Tuy nhiên nếu bạn muốn phát triển game, ứng dụng phần mềm trên Windows thì sẽ có các ngôn ngữ khác như C / C ++ .NET,… phù hợp hơn với các phần mềm này.
Làm thế nào để học tốt JavaScript?
Để học tốt JavaScript hay bất kỳ ngôn ngữ nào khác, điều quan trọng nhất bạn cần là sự quyết tâm và kiên trì đến cùng. Đôi khi, bạn sẽ gặp những bài tập cực khó hoặc gặp những khái niệm cực khó. Bạn vẫn sẽ phải học, đọc và cải thiện để “đánh bại” những thứ “khó hiểu” đó.
Nguyên mẫu khởi động là gì?
Tương tự trong JavaScript, Prototype trong khởi động có nghĩa là nguyên mẫu. Nhưng trong các công ty khởi nghiệp, nguyên mẫu được sử dụng để phác thảo và định hình những gì bạn có thể thấy về sản phẩm.
CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO
- Trụ sở chính: L17-11, Lầu 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn, P. Bến Nghé, Q.1, TP.
VPĐD: 42 Trần Phú, P.4, Q.5, TP.HCM - Điện thoại: 0364 333 333
Tổng đài miễn cước: 1800 6734 - Email: sales@tino.org
- Trang web: www.tino.org
Xem thêm nhiều bài viết về : Kiến Thức Cơ Bản
Bản quyền thuộc: thuthuatkiemtien.com
from thuthuatkiemtien.com https://ift.tt/33cMnb2
via thuthuatkiemtien.com
Nhận xét
Đăng nhận xét