Mất 3 phút đọc

Đối Tượng Lặp Lại Và Nguyên Mẫu Trong JavaScript

1.Nguyên mẫu đối tượng JavaScript

  • Tất cả các đối tượng JavaScript kế thừa các thuộc tính và phương thức từ một nguyên mẫu.
  • Trong chương trước, chúng ta đã học cách sử dụng một hàm tạo đối tượng:

  • không thể thêm thuộc tính mới vào phương thức khởi tạo đối tượng hiện có. Để thêm một thuộc tính mới vào một hàm tạo, bạn phải thêm nó vào hàm tạo:

1.1’Kế thừa nguyên mẫu

  • Tất cả các đối tượng JavaScript kế thừa các thuộc tính và phương thức từ một nguyên mẫu:
    • Datecác đối tượng kế thừa từDate.prototype
    • Arraycác đối tượng kế thừa từArray.prototype
    • Personcác đối tượng kế thừa từPerson.prototype
  • Ở Object.prototypetrên cùng của chuỗi kế thừa nguyên mẫu: Dateđối tượng, Arrayđối tượng và Personđối tượng kế thừa từ Object.prototype.

1.2.Thêm thuộc tính và phương thức vào đối tượng

  • Đôi khi bạn muốn thêm thuộc tính (hoặc phương thức) mới vào tất cả các đối tượng hiện có của một kiểu nhất định.
  • Đôi khi bạn muốn thêm các thuộc tính (hoặc phương thức) mới vào một phương thức khởi tạo đối tượng.

1.3.Sử dụng Thuộc tính nguyên mẫu

  • Thuộc tính JavaScript prototypecho phép bạn thêm các thuộc tính mới vào các hàm tạo đối tượng:

  • Thuộc tính JavaScript prototypecũng cho phép bạn thêm các phương thức mới vào các hàm tạo đối tượng:

⇒Lưu ý chỉ sửa đổi nguyên mẫu của riêng bạn.Không bao giờ sửa đổi nguyên mẫu của các đối tượng JavaScript tiêu chuẩn.

2.Đối tượng lặp lại JavaScript

  • Các đối tượng có thể lặp lại là các đối tượng có thể được lặp lại với for..of.
  • Về mặt kỹ thuật, các tệp lặp phải triển khai Symbol.iteratorphương thức.

2.1.Lặp lại trên một chuỗi

  • Có thể sử dụng một for..ofvòng lặp để lặp lại các phần tử của một Chuỗi:

2.2.Lặp lại trên một mảng

  • C thể sử dụng một for..ofvòng lặp để lặp qua các phần tử của Mảng:

2.3.Trình lặp lại JavaScript

  • Giao thức trình lặp xác định cách tạo ra một chuỗi giá trị từ một đối tượng.
  • Một đối tượng trở thành một trình lặp khi nó thực thi một next()phương thức.
  • Phương next()thức phải trả về một đối tượng có hai thuộc tính:
    • Value (giá trị tiếp theo): Giá trị được trả về bởi trình lặp (Có thể được bỏ qua nếu thực hiện là đúng)
    • Done (đúng hay sai)(true or false): True nếu trình lặp đã hoàn thành. False nếu trình lặp đã tạo ra một giá trị mới.

2.4.Lặp lại tự chế (Home Made Iterable)

  • Kết quả trả về có thể lặp lại này không bao giờ kết thúc: 10,20,30,40, …. Mọi thời điểm next()được gọi là:

  • Vấn đề với một trang có thể lặp lại tự chế: Nó không hỗ trợ for..of câu lệnh JavaScript.
  • JavaScript có thể lặp lại là một đối tượng có Symbol.iterator .
  • Hàm Symbol.iteratorlà một hàm trả về một hàm next().
  • Có thể lặp lại một tệp có thể lặp lại bằng mã:for (const x of iterable) { }

  • Phương thức Symbol.iterator được gọi tự động bởi for..of.
  • Nhưng chúng ta cũng có thể làm điều đó “thủ công”:

KẾT LUẬN: Tôi hy vọng bài viết này hữu ích cho bạn. Cảm ơn các bạn đã theo dõi bài viết!

 

Hãy bình chọn
147 lượt xem

17/10/2022 Blog Tin Học

Bài viết liên quan

Block "5_tab_footer" not found