Kiểu dữ liệu nguyên thủy
Trong JavaScript, có hai loại kiểu dữ liệu: kiểu dữ liệu nguyên thủy (Primitive data types) và kiểu dữ liệu đối tượng (Object types).
Kiểu dữ liệu nguyên thủy bao gồm: boolean, number, string, null, undefined và các kiểu mới như Symbol trong ES6 và BigInt trong ES10.
Phần này tập trung giới thiệu 5 kiểu dữ liệu nguyên thủy đầu tiên trong TypeScript.
Kiểu boolean
Kiểu boolean là kiểu dữ liệu cơ bản nhất, trong TypeScript, chúng ta sử dụng boolean
để định nghĩa kiểu dữ liệu boolean:
Lưu ý, việc sử dụng hàm tạo Boolean
để tạo đối tượng không phải là kiểu boolean:
Thực tế, new Boolean()
trả về một đối tượng Boolean
:
Việc gọi trực tiếp Boolean
cũng có thể trả về một kiểu boolean
:
Trong TypeScript, boolean
là kiểu dữ liệu cơ bản trong JavaScript, trong khi Boolean
là hàm tạo kiểu dữ liệu trong JavaScript. Các kiểu dữ liệu cơ bản khác (ngoại trừ null
và undefined
) cũng tương tự và không được bàn thêm chi tiết.
Kiểu Number
Sử dụng number
để định nghĩa kiểu dữ liệu số:
Kết quả biên dịch:
Trong đó, 0b1010
và 0o744
là [cách biểu diễn số nhị phân và bát phân trong ES6][ES6 中的二进制和八进制表示法], chúng sẽ được biên dịch thành số thập phân.
Kiểu string
Sử dụng string
để định nghĩa kiểu dữ liệu chuỗi:
Kết quả biên dịch:
Ở đây, `
được sử dụng để định nghĩa [chuỗi mẫu trong ES6][ES6 中的模板字符串], và ${expr}
được sử dụng để nhúng biểu thức trong chuỗi mẫu.
Kiểu void
JavaScript không có khái niệm kiểu Void. Trong TypeScript, có thể sử dụng void
để chỉ ra một hàm không trả về giá trị nào:
Việc khai báo một biến kiểu void
không có ý nghĩa gì, bởi vì bạn chỉ có thể gán nó bằng undefined
hoặc null
(chỉ khi —strictNullChecks không được chỉ định):
Kiểu Null và Undefined
Trong TypeScript, có thể sử dụng null
và undefined
để định nghĩa hai kiểu dữ liệu cơ bản này:
Sự khác biệt giữa void
là undefined
và null
là chúng là con của tất cả các kiểu. Điều này có nghĩa là biến kiểu undefined
có thể gán cho biến kiểu number
:
Trong khi biến kiểu void
không thể gán cho biến kiểu number
: