如何在 TypeScript 中定义新类型

Gil*_*ain 3 types typescript

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

let weekDay: 'Sun' | 'Mon' | 'Tue' | 'Wed' | 'Thu' | 'Fri' | 'Sat';
Run Code Online (Sandbox Code Playgroud)

在我的项目的不同地方我都使用这种类型,所以每次我写:

function setDay(day: 'Sun' | 'Mon' | 'Tue' | 'Wed' | 'Thu' | 'Fri' | 'Sat') { ... }
function getDay(): 'Sun' | 'Mon' | 'Tue' | 'Wed' | 'Thu' | 'Fri' | 'Sat' { ... }
Run Code Online (Sandbox Code Playgroud)

我怎样才能定义这个新类型一次,这样我就不需要每次都编写它。我尝试定义 aninterface但它会创建一个对象类型,并以此类型作为每个属性之一,但这不是我想要的

interface iWeekDay {
  day: 'Sun' | 'Mon' | 'Tue' | 'Wed' | 'Thu' | 'Fri' | 'Sat';
}
Run Code Online (Sandbox Code Playgroud)

And*_*tar 8

您可以将其定义为:

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

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

Run Code Online (Sandbox Code Playgroud)