TypeScript - Số học: Hướng dẫn chi tiết cho người mới bắt đầu

Xin chào bạn, ngôi sao lập trình tương lai! Chào mừng bạn đến với hành trình vào thế giới số học của TypeScript. Là người giáo viên máy tính gần gũi của bạn, tôi sẽ hướng dẫn bạn qua chủ đề thú vị này. Đừng lo lắng nếu bạn chưa bao giờ viết một dòng mã trước đây - chúng ta sẽ bắt đầu từ những điều cơ bản và dần dần nâng cao. Vậy, hãy lấy một tách cà phê (hoặc thức uống yêu thích của bạn) và cùng tôi bước vào!

TypeScript - Numbers

Số học trong TypeScript là gì?

Trước khi chúng ta đi sâu vào chi tiết, hãy nói về số học trong TypeScript. Trong thế giới lập trình, số học là một trong những kiểu dữ liệu cơ bản nhất. Chúng giống như những khối xây dựng của toán học trong mã của chúng ta. TypeScript, là một tập hợp mở rộng của JavaScript, xử lý số học tương tự nhưng với một số lợi ích bổ sung.

Cú pháp: Cách viết số học trong TypeScript

Trong TypeScript, bạn có thể viết số học theo nhiều cách khác nhau. Hãy cùng nhìn vào một số ví dụ:

let age: number = 30;
let price: number = 19.99;
let billion: number = 1e9;
let hexColor: number = 0xffffff;
let binaryValue: number = 0b1010;
let octalValue: number = 0o744;

Hãy phân tích chúng:

  • age: Một số nguyên đơn giản.
  • price: Một số thập phân (còn gọi là số dấu phẩy động).
  • billion: Định dạng khoa học (1 tỷ).
  • hexColor: Định dạng hexa (màu trắng trong RGB).
  • binaryValue: Định dạng nhị phân (bằng 10 trong hệ décimal).
  • octalValue: Định dạng bát phân (bằng 484 trong hệ décimal).

Lưu ý, trong TypeScript, tất cả các số học đều là giá trị dấu phẩy động. Điều này có nghĩa là ngay cả khi bạn viết một số nguyên như 30, nó vẫn được lưu trữ như 30.0 bên trong.

Tạo các kiểu số học

Trong TypeScript, bạn có thể xác định rõ ràng một biến là kiểu số học. Đây là một trong những tính năng quan trọng làm cho TypeScript khác biệt với JavaScript - nó cho phép chúng ta thêm chú thích kiểu cho các biến của mình.

let score: number;
score = 95;

let temperature: number = -5;

function calculateArea(width: number, height: number): number {
return width * height;
}

let area = calculateArea(10, 20);
console.log(area); // Output: 200

Trong ví dụ này, chúng ta đã xác định scoretemperature là các kiểu số học. Chúng ta cũng đã tạo một hàm calculateArea nhận hai tham số số học và trả về một số học. Điều này giúp phát hiện lỗi sớm nếu chúng ta vô tình传入 một chuỗi hoặc bất kỳ kiểu nào khác.

Tạo các đối tượng số học

Mặc dù không phổ biến (hoặc khuyến khích) trong lập trình hàng ngày, bạn cũng có thể tạo các đối tượng số học sử dụng bộ xây dựng Number:

let numObject: Number = new Number(42);
console.log(typeof numObject); // Output: object

let primitiveNum: number = 42;
console.log(typeof primitiveNum); // Output: number

Lưu ý chữ cái 'N' viết hoa trong Number khi chúng ta sử dụng bộ xây dựng. Điều này tạo ra một đối tượng bao quanh số học, khác với kiểu số học nguyên thuỷ (chữ cái thường 'n'). Trong hầu hết các trường hợp, bạn sẽ muốn sử dụng kiểu nguyên thuỷ để có hiệu suất tốt hơn và mã đơn giản hơn.

Các thuộc tính của số học

TypeScript kế thừa nhiều thuộc tính hữu ích từ đối tượng Number của JavaScript. Đây là các thuộc tính tĩnh, có nghĩa là bạn không cần tạo một实例 của Number để sử dụng chúng.

Dưới đây là bảng các thuộc tính Number phổ biến nhất:

Thuộc tính Mô tả Ví dụ
Number.MAX_VALUE Giá trị lớn nhất có thể biểu diễn console.log(Number.MAX_VALUE);
Number.MIN_VALUE Giá trị dương nhỏ nhất có thể biểu diễn console.log(Number.MIN_VALUE);
Number.NaN Giá trị"Not-A-Number" console.log(Number.NaN);
Number.NEGATIVE_INFINITY Vô cực âm console.log(Number.NEGATIVE_INFINITY);
Number.POSITIVE_INFINITY Vô cực dương console.log(Number.POSITIVE_INFINITY);

Hãy nhìn chúng trong hành động:

console.log(Number.MAX_VALUE); // Output: 1.7976931348623157e+308
console.log(Number.MIN_VALUE); // Output: 5e-324
console.log(Number.NaN); // Output: NaN
console.log(Number.NEGATIVE_INFINITY); // Output: -Infinity
console.log(Number.POSITIVE_INFINITY); // Output: Infinity

Các thuộc tính này có thể rất hữu ích khi bạn cần kiểm tra các giá trị cực đoan hoặc các trường hợp đặc biệt trong các phép toán của mình.

Các phương thức của số học

Số học TypeScript cũng có một bộ các phương thức内置 giúp bạn thực hiện các thao tác khác nhau. Dưới đây là bảng một số phương thức được sử dụng phổ biến:

Phương thức Mô tả Ví dụ
toFixed() Định dạng một số với một số lượng phần thập phân cụ thể let pi = 3.14159; console.log(pi.toFixed(2));
toPrecision() Định dạng một số với một độ dài cụ thể let bigNumber = 1234.5678; console.log(bigNumber.toPrecision(5));
toString() Chuyển đổi một số thành chuỗi let num = 42; console.log(num.toString());
valueOf() Trả về giá trị nguyên thuỷ của một đối tượng Number let numObj = new Number(42); console.log(numObj.valueOf());

Hãy nhìn chúng trong hành động:

let pi = 3.14159;
console.log(pi.toFixed(2)); // Output: "3.14"

let bigNumber = 1234.5678;
console.log(bigNumber.toPrecision(5)); // Output: "1234.6"

let num = 42;
console.log(num.toString()); // Output: "42"

let numObj = new Number(42);
console.log(numObj.valueOf()); // Output: 42

Các phương thức này có thể rất hữu ích khi bạn cần định dạng số học cho hiển thị hoặc chuyển đổi chúng cho các thao tác khác nhau.

Kết luận

Uf! Chúng ta đã bao quát rất nhiều nội dung hôm nay, từ cú pháp số học cơ bản trong TypeScript đến các khái niệm nâng cao như thuộc tính và phương thức Number. Nhớ rằng, làm việc với số học là một kỹ năng cơ bản trong lập trình, và việc thành thạo các khái niệm này sẽ giúp bạn rất nhiều trong hành trình lập trình của mình.

Khi kết thúc, đây là một chút hài hước lập trình cho bạn: Tại sao các lập trình viên thích chế độ tối? Vì ánh sáng thu hút lỗi! ?

Tiếp tục thực hành, giữ vững sự tò mò và đừng ngại thử nghiệm với các khái niệm số học trong mã của bạn. Trước khi bạn nhận ra, bạn sẽ tính toán và manipulates số học như một chuyên gia! Hẹn gặp lại, chúc bạn lập trình vui vẻ!

Credits: Image by storyset