Các hàm tích hợp sẵn trong TypeScript
Bài viết này giải thích về các hàm tích hợp sẵn trong TypeScript.
YouTube Video
Các hàm tích hợp sẵn trong TypeScript
Các hàm tích hợp sẵn trong TypeScript là các hàm tiện lợi được cung cấp để thực hiện các thao tác hàng ngày một cách ngắn gọn. Đây là các hàm chuẩn của JavaScript nhưng được bổ sung tính an toàn kiểu, làm cho chúng đặc biệt hữu ích khi lập trình trong TypeScript. Tại đây, chúng tôi sẽ giải thích chi tiết về một số hàm tích hợp quan trọng, cách sử dụng của chúng và việc chỉ định kiểu.
Các hàm tích hợp sẵn là gì?
Các hàm tích hợp sẵn của TypeScript dựa trên các hàm chuẩn của JavaScript. Việc áp dụng hệ thống kiểu của TypeScript cải thiện kiểm tra kiểu và gợi ý tự động. Các hàm chính bao gồm như sau:.
parseInt()
parseFloat()
isNaN()
isFinite()
Number()
String()
Array()
Array.isArray()
eval()
encodeURI()
decodeURI()
setTimeout()
setInterval()
Các hàm này được sử dụng rộng rãi trong các dự án TypeScript để chuyển đổi và đánh giá dữ liệu một cách ngắn gọn.
parseInt()
parseInt()
là một hàm được sử dụng để chuyển đổi một chuỗi thành một số nguyên. Bạn có thể chỉ định cơ số (như nhị phân, thập phân) làm đối số thứ hai. Trong TypeScript, bạn có thể chỉ định kiểu như sau:.
1function stringToInt(value: string, radix: number = 10): number {
2 const result: number = parseInt(value, radix);
3 if (isNaN(result)) {
4 throw new Error('Invalid number format');
5 }
6 return result;
7}
8
9console.log(stringToInt("42")); // 42
10console.log(stringToInt("101010", 2)); // 42 (converted from binary)
- Chỉ định đầu vào là một chuỗi với
value: string
- Giá trị trả về được chỉ định rõ ràng là kiểu
number
.
parseFloat()
parseFloat()
là một hàm được sử dụng để chuyển đổi một chuỗi thành một số dấu phẩy động.
1function stringToFloat(value: string): number {
2 const result: number = parseFloat(value);
3 if (isNaN(result)) {
4 throw new Error('Invalid number format');
5 }
6 return result;
7}
8
9console.log(stringToFloat("3.14")); // 3.14
10console.log(stringToFloat("2.71828")); // 2.71828
parseFloat()
có thể phân tích chính xác các số bao gồm cả phần thập phân.- Bằng cách chỉ định kiểu, bạn có thể nhận được một cảnh báo trong quá trình kiểm tra kiểu nếu đầu vào không phải là một số.
isNaN()
isNaN()
là một hàm xác định xem giá trị được đưa ra có phải là NaN
(Not-a-Number - Không phải là số) hay không. Một ví dụ sử dụng trong TypeScript như sau:.
1function checkNaN(value: unknown): boolean {
2 return isNaN(Number(value));
3}
4
5console.log(checkNaN("hello")); // true
6console.log(checkNaN(123)); // false
- Kiểu
unknown
là một kiểu tổng quát có thể chấp nhận bất kỳ kiểu nào. - Chuyển đổi sang một số bằng cách sử dụng hàm
Number()
và kiểm tra xem kết quả có phải làNaN
hay không.
isFinite()
isFinite()
xác định xem một giá trị có phải là hữu hạn hay không.
1function isValueFinite(value: unknown): boolean {
2 return isFinite(Number(value));
3}
4
5console.log(isValueFinite("100")); // true
6console.log(isValueFinite(Infinity)); // false
- Hàm này cũng sử dụng
Number()
để chuyển đổi giá trị sang một số trước khi xác định.
Number()
Hàm Number()
chuyển đổi chuỗi hoặc giá trị boolean thành số.
1function convertToNumber(value: string | boolean): number {
2 return Number(value);
3}
4
5console.log(convertToNumber("42")); // 42
6console.log(convertToNumber(true)); // 1
- Trong ví dụ này, kiểu hợp
string | boolean
được sử dụng để chỉ ra rằng đối số là một chuỗi hoặc một giá trị boolean.
String()
Hàm String()
chuyển đổi các con số hoặc giá trị boolean thành chuỗi.
1function convertToString(value: number | boolean): string {
2 return String(value);
3}
4
5console.log(convertToString(123)); // "123"
6console.log(convertToString(false)); // "false"
- Trong ví dụ này, một hàm được tạo ra để chấp nhận kiểu hợp
number | boolean
và chuyển đổi kết quả thành chuỗi.
Array()
Hàm Array()
được sử dụng để tạo một mảng mới. Ngoài ra, nó cung cấp nhiều phương thức hữu ích để tạo các mảng con từ các mảng hiện có hoặc trích xuất các phần tử cụ thể.
1function createArray(): Array<number> {
2 return Array(1, 2, 3, 4, 5); // 新しい配列を作成
3}
4
5function getSubArray(array: Array<number>): Array<number> {
6 return array.slice(1, 4); // サブ配列を作成
7}
8
9const numbers = createArray();
10console.log(numbers); // [1, 2, 3, 4, 5]
11
12const subArray = getSubArray(numbers);
13console.log(subArray); // [2, 3, 4]
- Ví dụ này minh họa cách tạo một mảng mới bằng hàm
Array()
và tạo một mảng con bằng phương thứcslice()
.
Array.isArray()
Array.isArray()
xác định xem giá trị được đưa vào có phải là một mảng hay không.
1function checkArray(value: unknown): boolean {
2 return Array.isArray(value);
3}
4
5console.log(checkArray([1, 2, 3])); // true
6console.log(checkArray("Not an array")); // false
- Sử dụng kiểu
unknown
, chúng ta có thể chấp nhận bất kỳ kiểu nào đồng thời kiểm tra xem có phải là một mảng hay không.
eval()
Hàm eval()
đánh giá một chuỗi như một biểu thức và trả về kết quả. Tuy nhiên, nó không được khuyến khích sử dụng do các rủi ro về bảo mật và hiệu năng.
1function evaluateExpression(expression: string): any {
2 return eval(expression);
3}
4
5console.log(evaluateExpression("2 + 3")); // 5
6console.log(evaluateExpression("'Hello ' + 'World!'")); // "Hello World!"
- Trong ví dụ này, một biểu thức được cung cấp dưới dạng chuỗi được đánh giá bằng
eval
, và kết quả được xuất ra.
encodeURI()
Hàm encodeURI()
mã hóa toàn bộ URL và thay thế một số ký tự đặc biệt.
1const uri = "https://example.com/page?name=John Doe&age=30";
2const encodedURI = encodeURI(uri);
3
4console.log(encodedURI); // "https://example.com/page?name=John%20Doe&age=30"
- Ví dụ này mã hóa khoảng trắng thành
%20
để tạo một URL an toàn.
decodeURI()
Hàm decodeURI()
giải mã một URL đã được mã hóa trở về định dạng ban đầu.
1const encodedURI = "https://example.com/page?name=John%20Doe&age=30";
2const decodedURI = decodeURI(encodedURI);
3
4console.log(decodedURI); // "https://example.com/page?name=John Doe&age=30"
- Ví dụ này giải mã một chuỗi URL đã được mã hóa trở về URL ban đầu.
setTimeout()
Hàm setTimeout()
thực thi một hàm cụ thể sau khoảng thời gian trễ được chỉ định (tính bằng mili giây).
1setTimeout(() => {
2 console.log("Executed after 2 seconds");
3}, 2000);
- Ví dụ này hiển thị một thông báo sau 2 giây.
setInterval()
Hàm setInterval()
thực thi lặp lại một hàm cụ thể tại khoảng thời gian được chỉ định (tính bằng mili giây).
1let count = 0;
2const intervalId = setInterval(() => {
3 count++;
4 console.log(`Interval executed ${count} time(s)`);
5 if (count === 3) {
6 clearInterval(intervalId); // Stops the interval after 3 executions
7 }
8}, 1000);
- Ví dụ này hiển thị một thông báo sau mỗi giây và dừng lại sau khi được thực thi ba lần.
Kết luận
Các hàm tích hợp của TypeScript cho phép lập trình an toàn và hiệu quả hơn bằng cách thêm tính an toàn kiểu vào các hàm JavaScript tiêu chuẩn. Các hàm này đơn giản hóa các tác vụ lập trình hàng ngày và cải thiện khả năng đọc và quản lý mã nguồn. Mỗi hàm được sử dụng đúng theo mục đích của nó, và bằng cách chỉ định kiểu, có thể phát hiện lỗi trước, đóng vai trò quan trọng trong việc tăng độ tin cậy của quy trình phát triển.
Bằng cách sử dụng TypeScript, quá trình phát triển có thể tận dụng typing tĩnh đồng thời khai thác sự linh hoạt của JavaScript.
Bạn có thể làm theo bài viết trên bằng cách sử dụng Visual Studio Code trên kênh YouTube của chúng tôi. Vui lòng ghé thăm kênh YouTube.