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 {}
使用?:来说明该属性是可选的,当接口出现问题的时候,往往判断是否是可选属性,不然会导致其他文件的组件出现问题