[英]How to define a new type in TypeScript
假设我有一个具有以下类型的变量:
let weekDay: 'Sun' | 'Mon' | 'Tue' | 'Wed' | 'Thu' | 'Fri' | 'Sat';
在我项目的不同地方我使用这种类型,所以每次我写:
function setDay(day: 'Sun' | 'Mon' | 'Tue' | 'Wed' | 'Thu' | 'Fri' | 'Sat') { ... }
function getDay(): 'Sun' | 'Mon' | 'Tue' | 'Wed' | 'Thu' | 'Fri' | 'Sat' { ... }
这个新类型怎么定义一次,就不用每次都写了。 我尝试定义一个interface
,但它会创建一个对象类型,将此类型作为每个属性之一,但这不是我想要的
interface iWeekDay {
day: 'Sun' | 'Mon' | 'Tue' | 'Wed' | 'Thu' | 'Fri' | 'Sat';
}
您可以将其定义为:
type DayOfWeek = 'Sun' | 'Mon' | 'Tue' | 'Wed' | 'Thu' | 'Fri' | 'Sat';
function setDay(day: DayOfWeek) { ... }
您还可以在与接口相同的文件中定义新类型,例如:
export interface IWeekDay {
day: dayType;
}
export type dayType =
| "Sun"
| "Mon"
| "Tue"
| "Wed"
| "Thu"
| "Fri"
| "Sat";
通过这样做,您导出了一个 IWeekDay 接口,该接口具有一个 dayType 类型的参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.