变量后面使用:来声明类型
let x:number = 1
//多个类型
let x:number | string =1
函数返回值指定类型
function add():number{}
类型别名和接口
类型别名
type Point = {
x: number;
y: number;
};
function printCoord(pt: Point) {}
接口
interface Point {
x: number;
y: number;
}
function printCoord(pt: Point) {}
相同点:
都可以描述一个对象或者函数
都允许拓展(extends和交叉类型)
不同点:
type 可以声明基本类型别名,联合类型,元组等类型
type 语句中还可以使用 typeof 获取实例的 类型进行赋值
interface 能够声明合并
类型断言
将某种数据转化为更加具体的类型
const myCanvas = document.getElementById("main_canvas")as HTMLCanvasElement
const myCanvas = <HTMLCanvasElement>document.getElementById("main_canvas");
文字类型
字符串
function printText(s: string, alignment: "left" | "right" | "center") {}
数字
function compare(a: string, b: string): -1 | 0 | 1 {}
可选属性
使用?:来说明该属性是可选的,当接口出现问题的时候,往往判断是否是可选属性,不然会导致其他文件的组件出现问题