Trang chủTác giảLiên hệ

Cách dùng từ khóa `readonly` trong class, type, interface của TypeScript

By Lưu Vinh Lộc
Published in Web Programming
December 14, 2021
1 min read

alt text

Dùng như thế nào

Trong 1 class, type hoặc interface, nếu 1 thuộc tính không bao giờ thay đổi thì ta có thể sử dụng.

Khi 1 thuộc tính được đinh nghĩa là readonly và được gán lại bằng 1 giá trị khác thì ngay tại bước coding, thì Compiler của TypeScript sẽ báo lỗi không thể gán giá trị mới cho thuộc tính này.

error TS2540: Cannot assign to XXX because it is a constant or a read-only property.

Khi muốn khởi tạo giá trị cho thuộc tính này, thì ta có thể khởi tạo ở chỗ khai báo thuộc tính hoặc bên trong constructor của class.

Ví dụ trong 1 component có thuộc tính:

Ví dụ về khởi tạo giá trị trong constructor của class:

Mã nhân viên code nếu thay đổi thì không thể định danh đó làm nhân viên nào được.

Ví dụ về thuộc tính readonly của interface:

Ví dụ về thuộc tính readonly của type:

Chú ý là với cách tạo Readonly với type như trên thì tất cả các thuộc tính của type đêu là readonly.

Như vậy có 3 cách tạo ra 1 object có thuộc tính không được thay đổi tính từ lúc giá trị của nó được khởi tạo.

Mục đích

Việc dùng readonly chỉ nhằm mục đích tránh những nhầm lẫn về logic, như việc đáng ra nó là biến không được thay đổi nhưng lại bị gán lại chẳng hạn.

Thế nên việc sử dụng là hoàn toàn tùy tâm, không dùng cũng chẳng sao.

Chính bởi vậy nên tôi thấy trong dự án của mình, tôi thấy mọi người rất ít dùng.

Tham khảo

  • tutorialsteacher typescript-readonly

Photo by Roman Kraft on Unsplash

Đây là bài viết của tôi trên blog cá nhân.


Tags

TYPESCRIPT

Lưu Vinh Lộc

Developer

Related Posts

Design Pattern: Singleton trong TypeScript
December 14, 2021
1 min
© 2021, All Rights Reserved.

Quick Links

Liên hệ quảng cáoThông tinLiên hệ

Social Media