TypeScript类型
基础类型
- string
- number
- boolean
数组
两种定义数组方法:
type[]
Array<type> // 泛型写法
对象类型
带有任何属性的JavaScript的值都可以看作为对象。
function printCoord(pt: { x: number; y:number }) {
console.log("坐标X的值为:" + pt.x);
console.log("坐标Y的值为:" + pt.y);
}
联合类型
两个或两个其他类型组成的类型
let id: number | string
类型别名
方便重复使用联合类型。单独定义一个类型,重复使用。
type Point = {
x: number;
y: number;
}
type ID = number | string
type UserInputSanitizedString = string
接口
interface Point {
x: number;
y: number;
}
function printCoord(pt: Point) {
console.log("坐标X的值为:" + pt.x);
console.log("坐标Y的值为:" + pt.y);
}
类型别名和接口
几乎所有可以使用interface接口定义的都可以使用type类型别名来定义。
区别一:扩展方式
扩展接口,使用extends关键字:
interface Animal {
name: string
}
interface Bear extends Animal {
honey: boolean
}
const bear: Bear = {
name: 'winie',
honey: true
}
扩展类型别名,使用&符号:
type Animal = {
name: string
}
type Bear = Animal & {
honey: boolean
}
区别二:添加字段方式
接口添加字段,同时定义两个同名的即可:
interface MyWindow {
count: number
}
interface MyWindow {
title: string
}
type方式,类型创建之后就不能更改了。
网友评论