⊗tsSpGnTV 30 of 37 menu

Biến kiểu trong TypeScript

Để hiểu rõ hơn khái niệm về generics, hãy cùng tạo hàm đầu tiên của chúng ta - hàm đồng nhất. Hàm như vậy trả về chính xác những gì được truyền vào - với cùng kiểu dữ liệu.

Trước hết, hãy viết các biến thể của hàm chúng ta một cách riêng biệt.

Hãy viết một hàm nhận một số làm tham số và trả về một số:

function func(data: number): number { return data; }

Bây giờ hãy viết một hàm nhận một chuỗi làm tham số và trả về một chuỗi:

function func(data: string): string { return data; }

Bây giờ giả sử chúng ta muốn làm sao để tất cả điều này được thực hiện bởi một hàm duy nhất. Tức là chúng ta muốn thực hiện việc tổng quát hóa.

Để làm điều này, chúng ta sử dụng một biến kiểu, biến này lưu giữ kiểu dữ liệu. Biến như vậy được khai báo trong cặp dấu ngoặc nhọn trước cặp dấu ngoặc tròn chứa tham số của hàm. Hãy khai báo một biến như vậy, đặt tên cho nó là T (có thể là bất kỳ tên nào):

function func <T>(đây là các tham số) { return data; }

Sau đó, chúng ta sẽ có biến T, có thể được sử dụng để đặt kiểu của tham số vào đó, và sau đó chỉ định nó làm kiểu trả về của hàm.

Hãy chỉ định kiểu cho tham số của chúng ta dưới dạng biến của chúng ta:

function func <T>(data: T) { return data; }

Kết quả là tham số có thể được truyền vào với bất kỳ kiểu nào, và kiểu đó sẽ được lưu vào biến T của chúng ta.

Bây giờ hãy sử dụng giá trị của biến T để chỉ định kết quả của hàm:

function func <T>(data: T): T { return data; }

Bây giờ kết quả là kiểu trả về của hàm sẽ được suy ra từ kiểu của tham số. Hãy cùng kiểm tra.

Gọi hàm với một số:

console.log( func(3) ); // sẽ in ra 3

Gọi hàm với một chuỗi:

console.log( func('x') ); // sẽ in ra 'x'

Hãy tạo một hàm, nhận hai số hoặc hai chuỗi làm tham số. Kết quả của hàm phải trả về tổng của các tham số.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối