基元类型是编程语言中的一类数据类型,它们表示最基本的、不可再分的数据单位。它们是原子值,这意味着它们不能被分解成更小的部分。
布尔型 (boolean) 是 TypeScript 中的一种基元类型,表示真或假的值。 布尔值通常用于表示条件或状态。例如:
// 检查用户是否已登录
let isLoggedIn: boolean = true;
// 检查产品是否已售罄
let isSoldOut: boolean = false;
// 检查函数是否成功执行
function myFunction(): boolean {
// ...
return true;
}
布尔值在 TypeScript 中可以显式地设置为 true 或 false,也可以使用布尔运算符(例如 !、&& 和 ||)来创建布尔值。
数字型 (number) 是 TypeScript 中的一种基元类型,表示数值,包括整数和小数。 数字值通常用于表示数量、度量或货币值。例如:
// 用户的年龄
let age: number = 30;
// 产品的价格
let price: number = 19.99;
// 数学计算的结果
let result: number = 10 + 20;
数字值在 TypeScript 中可以是整数或小数。整数是没有小数部分的数字,而小数是有小数部分的数字。
字符串型 (string) 是 TypeScript 中的一种基元类型,表示字符序列。 字符串值通常用于表示文本、名称或其他序列数据。例如:
// 用户的姓名
let name: string = "John Doe";
// 产品的描述
let description: string = "This is a product description.";
// HTML 代码
let html: string = "<p>This is a paragraph.</p>";
字符串值在 TypeScript 中可以使用单引号 (') 或双引号 (") 括起来。
空值型 (null) 是 TypeScript 中的一种基元类型,表示一个故意没有值的变量。 与 undefined 值不同,null 值表示一个变量的值显式地设置为 null。例如:
let myVariable: null = null;
// 表示一个可选字段尚未设置
interface Person {
name: string;
age?: number | null; // 可选字段
}
// 使用 null 作为默认值
function myFunction(param: string | null = null) {
// ...
}
// 返回 null
function myFunction(): null {
return null;
}
null 值与 undefined 值不同。undefined 值表示一个变量尚未初始化或赋值,而 null 值表示一个变量的值显式地设置为 null。
未定义型 (undefined) 是 JavaScript 中的一种基元类型,表示一个变量尚未初始化或尚未赋值。 当一个变量被声明但没有赋值时,它的值将自动设置为 undefined。例如:
let myVariable;
console.log(myVariable); // undefined
undefined 值也可能显式地分配给变量:
let myVariable = undefined;
// 检查变量是否已初始化
if (myVariable === undefined) {
// 变量尚未初始化
}
// 使用 undefined 作为默认值
function myFunction(param = undefined) {
// ...
}
// 返回 undefined
function myFunction() {
return undefined;
}
undefined 值与 null 值不同。null 值表示一个故意没有值的变量,而 undefined 值表示一个尚未初始化或赋值的变量。
符号型 (symbol) 是 ES6 中引入的一种新的基元类型。它表示一个唯一且不可变的值,可以用作标识符。 与其他基元类型不同,符号类型的值不是直接存储在变量中的。相反,符号类型的值存储在一个称为符号注册表的全局注册表中。当创建一个新的符号类型值时,它将被添加到符号注册表中,并返回一个对该值的引用。 符号类型值通常用于表示对象的私有属性或方法。这是因为符号类型值是唯一的,并且不能被其他对象访问或修改。
const uniqueSymbol = Symbol();
class MyClass {
private [uniqueSymbol] = 123;
public getSecret() {
return this[uniqueSymbol];
}
}
const myObject = new MyClass();
console.log(myObject.getSecret()); // 123
在此示例中,uniqueSymbol 是一个符号类型值,它被用作 MyClass 类的私有属性。这意味着 uniqueSymbol 属性只能在 MyClass 类内部访问。
大整型 (bigint) 是 ES2020 中引入的一种新的基元类型。它表示一个数值,该数值大于可以用常规数字表示的最大值。 在 JavaScript 中,常规数字使用 64 位有符号整数表示。对于某些应用程序来说,这个范围可能不够大,例如需要处理非常大的整数的加密算法。 大整型使用任意精度的整数表示,这意味着它们可以表示任意大小的整数。大整型值使用后缀 n 来表示,例如:
const bigInt = 9007199254740991n;
const bigInt = 9007199254740991n;
console.log(bigInt + 1n); // 9007199254740992n
console.log(bigInt * 2n); // 18014398509481982n