TypeScript 变量
TypeScript 是 JavaScript 的一个超集,它在 JavaScript 的基础上添加了类型系统,这使得开发者可以在编译时检查类型错误,从而提高代码的可维护性和稳定性。在 TypeScript 中,变量的声明和 JavaScript 类似,但可以指定变量的类型。
基本类型声明:
let message: string = "Hello, TypeScript!"; let age: number = 25; let isStudent: boolean = true; let list: number[] = [1, 2, 3];
对象类型声明:
let person: { name: string; age: number } = { name: "Alice", age: 30 };任意类型:
使用 any 类型可以声明一个变量,它可以接受任何类型的值。
let notSure: any = 4; notSure = "Maybe a string instead"; notSure = false; // okay, definitely a boolean
元组类型:
元组类型允许表示一个固定长度的数组,其中每个元素的类型可以不同。
let x: [string, number] = ["hello", 10]; // OK
枚举类型:
枚举是一种特殊的类型,可以为一组数值赋予更易读的名字。
enum Color {Red, Green, Blue}
let c: Color = Color.Green;void 类型:
void 类型通常用作没有返回值的函数的返回类型。
function warnUser(): void {
console.log("This is my warning message");
}null 和 undefined 类型:
TypeScript 将 null 和 undefined 作为所有类型的子类型。
let u: undefined = undefined; let n: null = null;
never 类型:
never 类型表示那些位置不会被执行到或者一定会抛出异常的位置。
function error(message: string): never {
throw new Error(message);
}类型别名:
使用 type 关键字可以为类型创建一个新的名称。
type Name = string; type Clickable = HTMLButtonElement;
接口:
接口是一种强大的方式来定义对象的结构。
interface Person {
name: string;
age: number;
}联合类型:
联合类型表示一个值可以是几种类型之一。
let value: string | number; value = "Hello"; // OK value = 123; // OK
类型守卫:
类型守卫是一种运行时检查,用于判断一个变量是否属于特定的类型。
function isNumber(x: any): x is number {
return typeof x === "number";
}这些是 TypeScript 中变量声明的一些基本概念。通过使用 TypeScript,你可以在开发过程中获得更好的类型检查和代码编辑器支持。