84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
In Zeile 60359 dieser Typdefinitionsdatei gibt es die folgende Anweisung:
type ActivatedEventHandler = ( ev: Windows.ApplicationModel.Activation.IActivatedEventArgs & WinRTEvent ) => void;
Was bedeutet in diesem Zusammenhang das Symbol &
&
例子:
type dog = {age: number, woof: Function}; type cat = {age: number, meow: Function}; // 类型weird是cat和dog的交集 // 它需要具有它们的所有属性的组合 type weird = dog & cat; const weirdAnimal: weird = {age: 2, woof: () => {'woof'}, meow: () => {'meow'}} interface extaprop { color: string } type catDog = weird & extaprop; // 类型现在还添加了color属性 const weirdAnimal2: catDog = {age: 2, woof: () => {'woof'}, meow: () => {'meow'}, color: 'red'} // 这与联合类型不同 // 下面的类型表示猫或狗 type dogOrCat = dog | cat;
&在类型位置表示交集类型。
https://www.typescriptlang.org/docs/handbook/2/objects.html#intersection-types
引用自上述文档:
interface ErrorHandling { success: boolean; error?: { message: string }; } interface ArtworksData { artworks: { title: string }[]; } interface ArtistsData { artists: { name: string }[]; } // 这些接口被组合在一起,以具有 // 一致的错误处理和它们自己的数据。 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); };
在Typescript中的交集类型
例子:
&
在类型位置表示交集类型。更多关于交集类型的TypeScript文档:
https://www.typescriptlang.org/docs/handbook/2/objects.html#intersection-types
引用自上述文档: