在TypeScript类型定义中,“&”号是什么意思?

卡尔·帕特纳德·普兰(Carl Patenaude Poulin):

此类型定义文件的 60359行上,有以下声明:

type ActivatedEventHandler = (ev: Windows.ApplicationModel.Activation.IActivatedEventArgs & WinRTEvent<any>) => void;

&在这种情况下印记是什么意思?

巴萨拉特:

&类型位置是指交叉点类型。

更多

https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html#intersection-types

来自上面链接的文档的引文:

交叉点类型与联合类型紧密相关,但是使用方式却大不相同。相交类型将多种类型组合为一种。这使您可以将现有类型加在一起,以获得具有所需所有功能的单个类型。例如,“ Person&Serializable&Loggable”是“ Person&Serializable and Loggable”的全部类型。这意味着此类型的对象将具有所有三种类型的所有成员。

例如,如果您的网络请求具有一致的错误处理,则可以将错误处理分离为它自己的类型,并与对应于单个响应类型的类型合并。

interface ErrorHandling {
  success: boolean;
  error?: { message: string };
}

interface ArtworksData {
  artworks: { title: string }[];
}

interface ArtistsData {
  artists: { name: string }[];
}

// These interfaces are composed to have
// consistent error handling, and their own data.

type ArtworksResponse = ArtworksData & ErrorHandling;
type ArtistsResponse = ArtistsData & ErrorHandling;

const handleArtistsResponse = (response: ArtistsResponse) => {
  if (response.error) {
    console.error(response.error.message);
    return;
  }

  console.log(response.artists);
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Typescript类型定义中,前缀“&”是什么意思?

Rust类型的“&”号是什么意思?

TypeScript中的双精度类型声明是什么意思?

在 TypeScript 中 any[]=[] 数据类型是什么意思?

什么是-?在TypeScript中是什么意思?

=>在类型签名中是什么意思?

“ dyn”在类型中是什么意思?

{} 在 TypeScript 中是什么意思?

TypeScript中的“环境”是什么意思

在Typescript中,<T>是什么意思?

Typescript中的static是什么意思?

“ ...” []在Typescript中是什么意思?

在scanf()函数中的%号后的#号是什么意思?

vim脚本函数定义中的尖号(#)是什么意思?

在Typescript中,“通用类型'Feature <T>'需要1个类型参数”是什么意思?

/ var / log / messages中的错误号是什么意思?

在函数声明中,仅*号是什么意思?

列表中的省略号是什么意思?

T &&(双“&”号)在C ++ 11中是什么意思?

井号(#)在Vue中是什么意思?

在Git中,“-”(破折号)是什么意思?

Webpack的devtool选项中的井号(#)是什么意思?

在PHP中'(花式撇号?)是什么意思

堆栈跟踪中的+号是什么意思

`git switch -`中的破折号是什么意思?

typescript中类型声明中的额外管道是什么意思

Typescript类型的匿名函数签名。这是什么意思?

OCaml类型定义周围的“ <”和“>”是什么意思?

类型定义中的右括号后[keyof T]是什么意思?