Apakah maksud simbol "ampersand (&)" dalam definisi jenis TypeScript?
P粉668804228
P粉668804228 2023-08-22 17:25:53
0
2
352
<p>Dalam baris 60359 fail definisi jenis ini, terdapat pernyataan berikut: </p> <pre class="brush:php;toolbar:false;">type ActivatedEventHandler = ( ev: Windows.ApplicationModel.Activation.IActivatedEventArgs & WinRTEvent<sebarang> ) => batal;</pre> <p>Dalam konteks ini, apakah maksud simbol <kod>&</kod> </p>
P粉668804228
P粉668804228

membalas semua(2)
P粉578343994

Jenis persimpangan dalam Typescript

  • A & mewakili jenis persimpangan dalam konteks jenis dalam TS.
  • Ia menggabungkan semua sifat dua jenis objek bersama-sama dan mencipta jenis baharu.

Contoh:

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

& mewakili persimpanganjenis dalam kedudukan jenis.

Lebih banyak dokumentasi TypeScript tentang jenis persimpangan:

https://www.typescriptlang.org/docs/handbook/2/objects.html#intersection-types

Dipetik daripada dokumen di atas:

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);
};
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!