数据类型

@DateType
更多信息,请访问 TypeScript
any
可以是任何类型
更多的是体现容错的处理,如包含多种数据类型的数组
let arr: any[] = [1, "hi,there.", true];
如果每个元素类型固定,可以使用联合类型
如果元素位置的类型固定,可以使用元组 tuple
void
不指定任何类型
函数没有返回值,可以指定 void
function sayHi(): void {
  console.log("hi,there.");
}
union
元素类型可以灵活变化,但仍然保持一定的类型约束
类型安全;更好的开发体验
使用 | 分隔类型
let arr: (number | string | boolean)[] = [1, "hi, there.", true];
function sayHi(str: number | string): string {
  return "hi, " + str;
}
sayHi(9527);
sayHi("glpla");
tuple
严格控制数组中每个位置的元素类型
精确控制;防止意外赋值
let arr: [number, string, boolean] = [1, "hi, there.", true];
Type Assertion
类型断言 - 类似类型转换
编译时运行;告诉编译器某个值的具体类型,通常在编译器 无法 自动推断类型或者你比编译器 更清楚 某个值的类型时使用
如果已经指定了类型,则不需要断言
只有在不确定类型的时候,如传递的联合类型参数,应该区分不同类型的参数如何相应的处理
语法1:Angle-bracket syntax
<string>str
语法2:as keyword
str as string
Type Inference
类型推断- 允许编译器根据变量的初始值自动推断其类型,而无需显式地指定类型
类型推断使得代码更加简洁和易读,同时仍然保持类型安全
如果没有指定类型,则系统会推断为 any