- vừa được xem lúc

Sử dụng Access Modifiers trong TypeScript

0 0 12

Người đăng: Gấu con

Theo Viblo Asia

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ụ:

class Person { 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ụ:

class Person { 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 = new Person('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ụ:

class Person { // ... public getFullName(): 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ụ:

class Person { 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

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 500

- vừa được xem lúc

Type annotation vs Type Inference - Typescript

Trong bài viết này, chúng ta sẽ tìm hiểu kỹ về TypeScript bằng cách tìm hiểu sự khác biệt giữa kiểu chú thích và kiểu suy luận. Tôi sẽ cho rằng bạn có một số kinh nghiệm về JavaScript và biết về các kiểu cơ bản, như chuỗi, số và boolean.

0 0 32

- vừa được xem lúc

Type Annotation và Type Inference trong TypeScript là gì?

Khi làm việc với javascript chắc hẳn các bạn đã quá quen với việc dùng biến mà không cần phải quan tâm đến kiểu dữ liệu của nó là gì phải không? Đúng là mới đầu tiếp cận với Typescript mình cũng cảm thấy nó khá là phiền vì cần phải khai báo đủ type để nó chặt chẽ hơn. Lúc đó mình còn nghĩ: " JavaScr

0 0 25

- vừa được xem lúc

Tìm hiểu TypeScript và kiến thức cơ bản

TypeScript là gì. TypeScript sử dụng tất cả các tính năng của của ECMAScript 2015 (ES6) như classes, modules.

0 0 35

- vừa được xem lúc

TypeScript - P1: Vì sao TypeScript được yêu thích đến vậy?

Trải nghiệm thực tế. Trước khi là một Web Developer, tôi là một Mobile Developer và Java là thứ mà tôi từng theo đuổi.

0 1 58

- vừa được xem lúc

4 Tính năng rất hay từ TypeScript

Xin chào các bạn hôm nay mình xin chia sẽ những tính năng rất hay của TypeScript (TS), các bạn cùng tìm hiểu nhé. Ngoài việc set Type cho biến, tham số hay function thì ví dụ khi bạn nhìn vào một tham

0 0 82