// TypeScript 中的常见类型声明
// 数字类型
let decimal: number = 6;
let hex: number = 0xf00d;
// 字符串类型
let color: string = "blue";
color = 'red';
// 布尔类型
let isDone: boolean = false;
// 数组类型
let list: number[] = [1, 2, 3];
let list: Array<number> = [1, 2, 3];
// 元组类型,表示一个已知元素数量和类型的数组
let x: [string, number];
x = ['hello', 10]; // OK
// x = [10, 'hello']; // Error
// 枚举类型,定义了一些命名常量
enum Color {
Red,
Green,
Blue,
}
let c: Color = Color.Green;
// 任意类型,通常用于不清楚类型的变量
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // OK, but no type checking
// 空类型,常用于不想赋任何值的变量
let unusable: void = undefined;
// 异构对象类型,表示key-value对,key必须是字符串类型或者数字类型,value是任意类型
let search: { [key: string]: any } = {
name: 'John',
age: 30
};
// 函数类型,定义了函数的参数类型和返回值类型
let add: (x: number, y: number) => number = function (x, y) {
return x + y;
};
// 类类型,定义了类的属性和方法
class Car {
engine: string;
constructor(engine: string) {
this.engine = engine;
}
drive() {
console.log(`The ${this.engine} engine roars to life!`);
}
}
// 接口类型,定义了对象的形状
interface Person {
name: string;
age: number;
}
let person: Person = {
name: 'Alice',
age: 30
};
// 类型别名,为现有类型定义新名称
type NewType = string | number;
let unionType: NewType = 'hello';
unionType = 100;
评论已关闭