我注意到Typescript中有以下语法.

export type feline = typeof cat;

据我所知,type不是built-in basic type,也不是接口或类.实际上,它看起来更像是别名的语法,但我找不到验证我猜测的参考.

那么,上述声明是什么意思?

推荐答案

这是一个type alias,用来给一个类型起另一个名字.

在你的例子中,feline将是cat的类型.

下面是一个更全面的例子:

interface Animal {
    legs: number;
}

const cat: Animal = { legs: 4 };

export type feline = typeof cat;

feline将是Animal型,你可以在任何你喜欢的地方使用它.

const someFunc = (cat: feline) => {
    doSomething();
};

export只是将其从文件中导出.这和这样做是一样的:

type feline = typeof cat;

export {
    feline
};

Typescript相关问答推荐

为什么在TypScript中将类型守护的返回类型写成This is(

为什么在TypScript中写入typeof someArray[number]有效?

如何在排版中正确键入中间件链和控制器链

在泛型类型中对子代执行递归时出错

如何在使用`Next—intl`和`next/link`时导航

TypeScrip:基于参数的条件返回类型

类型脚本中没有接口的中间静态类

Vue SFC中的多个脚本块共享导入的符号

带switch 的函数的返回类型的类型缩小

使用打字Angular 中的通用数据创建状态管理

<;T扩展布尔值>;

带下拉菜单的Angular 响应式选项卡

有没有可能为这样的函数写一个类型?

如何在try 运行独立的文字脚本Angular 项目时修复Visual Studio中的MODULE_NOT_FOUND

对于VUE3,错误XX不存在于从不存在的类型上意味着什么?

将类型脚本函数返回类型提取到VSCode中的接口

为什么`map()`返回类型不能维护与输入相同数量的值?

在Vite中将SVG导入为ReactComponent-不明确的间接导出:ReactComponent

为什么TS条件返回要求不明确的强制转换而不是精确的强制转换?

带有过滤键的 Typescript 映射类型