在 TypeScript 中,有两种动态类型:
1. 任意类型 (
-
any 类型表示任何类型的值,允许我们在编码时不进行类型检查,使得变量可以存储任何类型的值。 -
例子: 假设我们从用户输入获取一个值,但我们不确定用户会输入什么类型的数据:
let userInput: any = getUserInput(); // 用户输入的数据,类型不确定
-
在这个例子中,
userInput 可以是字符串、数字、布尔值,或者其他任何类型。 -
注意: 使用
any 类型时,需要小心,因为它绕过了 TypeScript 的类型检查,可能导致运行时错误。
2. 未知类型 (
-
unknown 类型也表示任何类型的值,但与any 不同,unknown 类型要求在使用前进行类型检查。 -
例子: 假设我们从某个不可信的源头获取数据,我们不知道它的确切类型:
let data: unknown = fetchDataFromExternalSource(); // 数据的类型不确定
在这个例子中,虽然
if (typeof data === "string") { console.log(data.length); // OK,已经进行了类型检查 }
注意: 使用
总体来说,