Sử dụng Type Assertions trong TypeScript

Type Assertions trong TypeScript Khi sử dụng Type Assertions, trình biên dịch sẽ coi một giá trị là một kiểu được chỉ định cụ thể. Nó sử dụng từ khóa as để sử dụng: expression as targetType Ví dụ: functiongetNetPrice(price:number, discount:number, format:boolean):number|string{let netPrice = price *(1- discount);return format ?`$${netPrice}`: netPrice;} Hàm getNetPrice () chấp nhận

Type Assertions trong TypeScript

Khi sử dụng Type Assertions, trình biên dịch sẽ coi một giá trị là một kiểu được chỉ định cụ thể. Nó sử dụng từ khóa as để sử dụng:

expression as targetType

Ví dụ:

functiongetNetPrice(price:number, discount:number, format:boolean):number|string{let netPrice = price *(1- discount);return format ?`$${netPrice}`: netPrice;}

Hàm getNetPrice () chấp nhận các đối số price, discountformat và trả về giá trị của kiểu number hoặc string.
Nếu formattrue , hàm getNetPrice () trả về giá thực của price được định dạng dưới string. Nếu không, nó trả về giá thực của price dưới number.
Sử dụng từ khóa as để hướng trình biên dịch hiểu rằng giá trị được gán cho biến netPrice là string:

let netPrice =getNetPrice(100,0.05,true)asstring;console.log(netPrice);

Output:

$95

Sử dụng từ khóa as để hướng trình biên dịch hiểu rằng giá trị được gán cho viến netPrice là number:

let netPrice =getNetPrice(100,0.05,false)asnumber;console.log(netPrice);

Output:

95

Thay thế cú pháp Type Assertion

Bạn cũng có thể sử dụng cú pháp ngoặc nhọn <> để xác nhận một kiểu, như sau:

<targetType> value

Ví dụ:

let netPrice = <number>getNetPrice(100, 0.05, false);

Lưu ý rằng bạn không thể sử dụng cú pháp ngoặc nhọn <> với một số thư viện như React. Vì lý do này, bạn nên sử dụng từ khóa as cho các xác nhận kiểu.
Tóm tắt:

  • Type assertions hướng dẫn trình biên dịch coi một giá trị là một kiểu được chỉ định.
  • Type assertions không thực hiện bất kỳ kiểu ép kiểu nào.
  • Type assertions sử dụng từ khóa as hoặc cú pháp dấu ngoặc nhọn <>.

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ