Sử dụng Access Modifiers trong TypeScript

Access modifiers có nhiệm vụ thay đổi quyền truy cập các thuộc tính và phương thức trong class. TypeScript cung cấp 3 mức truy cập là: private protected public Chú ý: TypeScript sẽ kiểm soát truy cập trong thời gian biên dịch chứ không phải trong thời gian chạy. Sử dụng private Mức truy cập

Access modifiers có nhiệm vụ thay đổi quyền truy cập các thuộc tính và phương thức trong class. TypeScript cung cấp 3 mức truy cập là:

  • private
  • protected
  • public

Chú ý: TypeScript sẽ kiểm soát truy cập trong thời gian biên dịch chứ không phải trong thời gian chạy.

Sử dụng private

Mức truy cập private chỉ giới hạn khả năng hiển thị trong cùng một class. Khi thêm thêm private đến các thuộc tính hoặc phương thức, thì bạn có thể truy cập các thuộc tính hoặc phương thức đó bên trong class đó mà thôi. Bất kỳ các truy cập thuộc tính hay phương thức có kiểu là private mà nằm bên ngoài class đó ,thì sẽ trả về lỗi ở thời điểm biên dịch code.
Ví dụ:

classPerson{private ssn:string;private firstName:string;private lastName:string;// ...}

Khi thuộc tính private được sử dụng, bạn có thể truy cập thuộc tính ssn bên trong constructor hoặc phương thức của class Person. Ví dụ:

classPerson{private ssn:string;private firstName:string;private lastName:string;constructor(ssn:string, firstName:string, lastName:string){this.ssn = ssn;this.firstName = firstName;this.lastName = lastName;}getFullName():string{return`${this.firstName}${this.lastName}`;}}

Nếu bạn truy cập thuộc tính ssn bên ngoài class:

let person =newPerson('153-07-3130','John','Doe');console.log(person.ssn);// compile error : error TS2341: Property 'ssn' is private and only accessible within class 'Person'.

Sử dụng public

Mức truy cập public phép các thuộc tính và phương thức được truy cập từ tất cả các vị trí. Nếu bạn không chỉ định bất kỳ mức truy cập nào cho các thuộc tính và phương thức, mặc định chúng sẽ có kiểu là public.
Ví dụ:

classPerson{// ...publicgetFullName():string{return`${this.firstName}${this.lastName}`;}// ...}

Nó có tác dụng tương tự như khi từ khóa public bị bỏ qua.

Sử dụng protected

Mức truy cập protected cho phép các thuộc tính và phương thức của một class được truy cập bên trong class đó và bên trong các subclass.
Khi một class(class con) kế thừa từ class khác( class cha), thì nó được gọi là subclass của class cha.
Trình biên dịch sẽ hiển thị lỗi nếu bạn truy cập thuộc tính hoặc phương thức có kiểu là protected từ bất kỳ nơi nào khác.
ví dụ:

classPerson{protected ssn:string;// other code}

Thuộc tính ssn có kiểu protected. Nó có thể được truy cập trong lớp Person và trong bất kỳ lớp nào kế thừa từ lớp Person.
Khi bạn xem xét khả năng hiển thị của các thuộc tính và phương thức, bạn nên sử dụng kiểu private.

Tóm tắt:

  • TypeScript cung cấp 3 mức truy cập đến các thuộc tính và phương thức trong class: private, protected, và public.
  • private chỉ cho phép truy cập bên trong class đó
  • protected chỉ cho phép truy cập bên trong class đó và bên trong class kế thừa(class con)
  • public cho phép truy cập ở bất kỳ vị trị nào

Nguồn: viblo.asia

Bài viết liên quan

9 Mẹo lập trình Web “ẩn mình” giúp tiết kiệm hàng giờ đồng hồ

Hầu hết các lập trình viên (kể cả những người giỏi) đều tốn thời gian x

Can GPT-4o Generate Images? All You Need to Know about GPT-4o-image

OpenAI‘s GPT-4o, introduced on March 25, 2025, has revolutionized the way we create visual con

Khi nào nên dùng main, section, article, header, footer, và aside trong HTML5

HTML5 đã giới thiệu các thẻ ngữ nghĩa giúp cấu trúc nội dung web một cách có

So sánh Webhook và API: Khi nào nên sử dụng?

Trong lĩnh vực công nghệ thông tin và phát triển phần mềm, Webhook và API là hai th