× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Trình truy cập TypeScript và những thông tin bạn chưa biết

16/11/2023 01:22

Trong TypeScript, thuộc tính accessor cung cấp một phương thức để truy cập và thiết lập các thành viên của lớp. 

Trong TypeScript, thuộc tính accessor cung cấp một phương thức để truy cập và thiết lập các thành viên của lớp. Nó có hai phương pháp được đưa ra dưới đây.

  1. getter
  2. setter

người thu thập

Thuộc tính truy cập getter là phương thức thông thường được sử dụng để truy xuất giá trị của một biến. Theo nghĩa đen của đối tượng, thuộc tính getter được biểu thị bằng từ khóa " get ". Nó có thể là công khai, riêng tư và được bảo vệ.

Cú pháp

  1. get propName() {  
  2.     // getter, the code executed on getting obj.propName  
  3.   },  

Ví dụ

  1. class MyDrawing {    
  2.     length: number = 20;    
  3.     breadth: string = 15;    
  4.    
  5.     get rectangle() {    
  6.         return this.length * this.breadth;    
  7.     }    
  8. }    
  9. console.log(new MyDrawing().square);  

Setter

Thuộc tính truy cập setter là phương thức thông thường được sử dụng để cập nhật giá trị của một biến. Theo nghĩa đen của đối tượng, thuộc tính setter được biểu thị bằng từ khóa " set ".

Cú pháp

  1. set propName(value) {  
  2.     // setter, the code executed on setting obj.propName = value  
  3.   } 

Ví dụ

  1. set displayFullName {   
  2.     const parts = value.split ('');   
  3.     this.pname = firstname[0];   
  4.     this.pname = firstname[1];   
  5. }   
  6. person displayFullName = "Abhishek Mishra"  
  7. console.log(student);  

 

Ghi chú:
  • Getter và setter cung cấp cho chúng ta cách kiểm soát tốt hơn cách truy cập thành viên trên mỗi đối tượng .
  • Các trình truy cập TypeScript yêu cầu chúng ta thiết lập trình biên dịch để xuất ra ECMAScript 5 hoặc cao hơn. Nó không hỗ trợ dưới ECMAScript 5.
  • Trình truy cập có thuộc tính get mà không có bất kỳ thuộc tính set nào sẽ tự động được coi là chỉ đọc. Điều này rất hữu ích khi chúng tôi tạo tệp .d.ts từ mã của mình.

Chúng ta có thể hiểu khái niệm getter và setter từ ví dụ dưới đây.

Ví dụ

 
  1. let passcode = "secret passcode";  
  2.   
  3. class Student {  
  4.     private _fullName: string;  
  5.   
  6.     get fullName(): string {  
  7.         return this._fullName;  
  8.     }  
  9.   
  10.     set fullName(newName: string) {  
  11.         if (passcode && passcode == "secret passcode") {  
  12.             this._fullName = newName;  
  13.         }  
  14.         else {  
  15.             console.log("Unauthorized update of student detail!");  
  16.         }  
  17.     }  
  18. }  
  19.   
  20. let stud = new Student();  
  21. stud.fullName = "Virat Kohli";  
  22. if (stud.fullName) {  
  23.     console.log(stud.fullName);  
  24. }  
  25.  

Đầu ra:

Trình truy cập TypeScript

Bây giờ, nếu chúng ta thay đổi dòng đầu tiên: let passcode="secret_passcode" ;

Sau đó, Kết quả: Cập nhật trái phép thông tin chi tiết về học sinh!

Quy ước đặt tên cho getter và setter

Quy ước đặt tên của phương thức setter và getter phải như sau:

            getXX() và setXX()

Ở đây XX là tên của biến. Ví dụ:

 
  1. private String name;   

Khi đó setter và getter sẽ là:

  1. public void setName(String name) { }  
  2. public String getName() { }