Was bedeutet das Symbol „kaufmännisches Und (&)' in TypeScript-Typdefinitionen?
P粉668804228
P粉668804228 2023-08-22 17:25:53
0
2
340

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 &

P粉668804228
P粉668804228

Antworte allen (2)
P粉578343994

在Typescript中的交集类型

  • A & 在TS中的类型上下文中表示交集类型。
  • 它将两个对象类型的所有属性合并在一起,并创建一个新类型。

例子:

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;
    P粉148434742

    &在类型位置表示交集类型。

    更多关于交集类型的TypeScript文档:

    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); };
      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!