如何在TypeScript中定义新类型

时间:2019-09-23 12:56:41

标签: typescript types

假设我有一个以下类型的变量:

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';
}

1 个答案:

答案 0 :(得分:2)

您可以将其定义为:

type DayOfWeek = 'Sun' | 'Mon' | 'Tue' | 'Wed' | 'Thu' | 'Fri' | 'Sat';

function setDay(day: DayOfWeek) { ... }