TypeScript中有很多内置对象,它们可以直接在TypeScript中当做定义好了的类型。内置对象是指根据标准在全局作用域(Global)上存在的对象,这里的标准是指ECMAScript和其他环境(比如DOM)的标准 [2]。
下面是一些TypeScript中常用的内置对象:
- Boolean: 布尔类型。
- Number: 数字类型。
- String: 字符串类型。
- Array: 数组类型。
- Date: 日期类型。
- RegExp: 正则表达式类型。
- Map: 映射类型。
- Set: 集合类型。
- Promise: 异步操作的结果类型。
这些内置对象可以直接使用,无需进行额外的导入或定义。例如,可以直接使用以下代码定义一个数字类型的变量:
let num: number = 42;
同样地,可以使用以下代码定义一个日期类型的变量:
let today: Date = new Date();
需要注意的是,虽然这些内置对象已经定义好了类型,但是它们的实例化仍然需要使用构造函数。例如,上面的代码中使用了Date构造函数来创建一个日期类型的实例 [2]。
下面通过一些案例代码来更加深入地了解内置对象的使用。
案例代码1:使用Map内置对象
Map对象是一种简单的键/值对集合,其中键和值可以是任何类型。下面是一个使用Map对象的示例代码:
let myMap = new Map();
myMap.set("key1", "value1");
myMap.set("key2", "value2");
myMap.set("key3", "value3");
console.log(myMap.get("key1")); // 输出 "value1"
console.log(myMap.size); // 输出 3
在上面的代码中,首先创建了一个Map对象,然后使用set方法添加了三个键/值对。接着,使用get方法获取了其中一个键对应的值,并使用size属性获取了Map对象中键/值对的数量。
案例代码2:使用Promise内置对象
Promise对象用于表示一个异步操作的结果。下面是一个使用Promise对象的示例代码:
function asyncFunction(): Promise<string> {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Hello, world!");
}, 1000);
});
}
asyncFunction().then((result) => {
console.log(result); // 输出 "Hello, world!"
});
在上面的代码中,首先定义了一个返回Promise对象的函数asyncFunction。该函数使用setTimeout模拟了一个异步操作,并在操作完成后调用了resolve方法来返回一个字符串"Hello, world!"。接着,使用then方法来处理异步操作的结果,并输出了该结果。
总结来说,TypeScript内置对象是可直接使用的类型,无需进行额外的导入或定义。开发者可以根据具体需求选择合适的内置对象,并使用相应的方法来操作其实例。需要注意的是,虽然内置对象已经定义好了类型,但是它们的实例化仍然需要使用构造函数。 [2]