Jadual Kandungan
Tatabahasa
Penjelasan tentang operan
Contoh
Output
Kenapa guna jenis bersyarat?
Rumah hujung hadapan web tutorial js Bagaimana untuk membuat jenis bersyarat dalam TypeScript?

Bagaimana untuk membuat jenis bersyarat dalam TypeScript?

Aug 23, 2023 pm 06:33 PM

如何在 TypeScript 中创建条件类型?

Dalam TypeScript, kita perlu menentukan jenis untuk setiap pembolehubah dan objek kerana ia adalah jenis bahasa yang ketat dan juga mengandungi jenis bersyarat.

Daripada jenis keadaan perkataan, kita boleh meramalkan bahawa kita perlu memilih pembolehubah berdasarkan keadaan tertentu. Ya, anda mendengarnya dengan betul. Sama seperti kita menggunakan pernyataan if-else untuk melaksanakan blok kod tertentu berdasarkan syarat tertentu, kita juga boleh memilih jenis pembolehubah berdasarkan syarat tertentu.

Dalam tutorial ini, kita akan belajar membuat jenis bersyarat dalam TypeScript.

Tatabahasa

Pengguna boleh mencipta jenis bersyarat dalam TypeScript mengikut sintaks berikut.

first_type extends second_type ? true_type : false_type;
Salin selepas log masuk

Kami menggunakan operator ternary dalam sintaks di atas untuk mencipta jenis bersyarat.

Penjelasan tentang operan

  • First_type - Ia adalah jenis atau pembolehubah.

  • Second_type - Ia adalah jenis seperti nombor, rentetan, boolean dll.

  • True_type - Jika first_type mengandungi second_type, true_type akan diberikan kepada pembolehubah.

  • False_type - Jika first_type tidak melanjutkan second_type, false_type akan diberikan kepada pembolehubah.

Sekarang kita akan melihat contoh yang berbeza untuk mengetahui lebih lanjut tentang jenis bersyarat dalam TypeScript.

Contoh

Dalam contoh di bawah, kami mentakrifkan dua antara muka. Dalam TypeScript, antara muka juga berfungsi sama seperti alias jenis kerana ia mentakrifkan struktur objek atau kelas.

Selepas itu, kami melanjutkan antara muka2 dengan antara muka1. Ini bermakna antara muka2 mengandungi semua sifat antara muka1. Selepas itu, kami menetapkan jenis syarat kepada alias type1 dan type2 menggunakan operator ternary.

Dalam output, pengguna boleh menyemak jenis pembolehubah var1 dan var2.

// Creating the first interface
interface interface1 {
   prop1?: string;
   prop2: boolean;
}

// creating the second interface and extending it with the interface1
interface interface2 extends interface1 {
   prop3?: number;
   prop4: boolean;
}

// type of the type1 is number as interface2 extends interface1
type type1 = interface2 extends interface1 ? number : string;
let var1: type1 = 20;

// type of the type2 is string as interface1 doesn't extends the interface2
type type2 = interface1 extends interface2 ? number : string;
let var2: type2 = "Hello";

console.log("The type of var1 variable is " + typeof var1);
console.log("The type of var2 variable is " + typeof var2);
Salin selepas log masuk

Apabila disusun, ia akan menjana kod JavaScript berikut -

var var1 = 20;
var var2 = "Hello";
console.log("The type of var1 variable is " + typeof var1);
console.log("The type of var2 variable is " + typeof var2);
Salin selepas log masuk

Output

Kod di atas akan menghasilkan output berikut -

The type of var1 variable is number
The type of var2 variable is string
Salin selepas log masuk

Kami telah mempelajari asas jenis bersyarat dan cara menciptanya.

Kenapa guna jenis bersyarat?

Kami akan mempelajari sebab dan cara jenis bersyarat berguna dalam pembangunan dunia sebenar.

Mari kita lihat kod berikut di mana kita membebankan fungsi func1() dengan menukar jenis pemulangannya berdasarkan jenis parameter. Kita boleh perhatikan bahawa jika jenis parameter adalah boolean, jenis pulangan ialah rentetan. Selain itu, jika jenis parameter ialah rentetan dan nombor, jenis pulangan masing-masing ialah nombor dan boolean.

function func1(param1: boolean): string;
function func1(param1: string): number;
function func1(param1: number): boolean;
function func1(param1: any): any {
   // function body of the overloaded function
}
Salin selepas log masuk

Kita boleh membebankan fungsi dengan mencipta jenis bersyarat dengan satu definisi dalam satu baris dan bukannya menulis berbilang definisi dalam fungsi.

Contoh

Dalam contoh di bawah, kami telah mencipta jenis keadaan yang dipanggil test_type. Ia mendapat nilai dan mengembalikan jenis berdasarkan jenis nilai. Jika jenis nilai ialah nombor, ia mengembalikan nilai Boolean untuk nilai rentetan, ia mengembalikan nombor dan untuk nilai Boolean, ia mengembalikan jenis rentetan.

Dalam output, kita boleh memerhatikan pembolehubah yang diperolehi daripada test_type dan jenis pembolehubah abc.

// creating the conditional type
// it will accept the number, string, and boolean values
type test_type<T extends number | string | boolean> = T extends number
  ? boolean
  : T extends string
  ? number
  : string;
// getting the type of abc variable based on the value from the conditional test_type
let abc: test_type<"hello"> = 20;
console.log("The type of the variable abc is " + typeof abc);

let variable: test_type<typeof abc> = false;
console.log("The type of the variable is " + typeof variable);
Salin selepas log masuk

Apabila disusun, ia akan menjana kod JavaScript berikut:

// getting the type of abc variable based on the value from the conditional test_type
var abc = 20;
console.log("The type of the variable abc is " + typeof abc);
var variable = false;
console.log("The type of the variable is " + typeof variable);
Salin selepas log masuk

Output

Kod di atas akan menghasilkan output berikut -

The type of the variable abc is number
The type of the variable is boolean
Salin selepas log masuk

Memandangkan kami telah menggunakan jenis bersyarat untuk pembolehubah, kami boleh menggunakannya untuk parameter fungsi atau jenis pulangan.

Pengguna dalam tutorial ini belajar tentang mencipta jenis bersyarat yang membolehkan kami memilih pembolehubah tertentu berdasarkan jenis atau nilai pembolehubah lain. Selain itu, kami mempelajari cara menggunakan jenis bersyarat untuk parameter fungsi dan jenis pulangan.

Atas ialah kandungan terperinci Bagaimana untuk membuat jenis bersyarat dalam TypeScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Mar 18, 2025 pm 03:12 PM

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Mar 18, 2025 pm 03:14 PM

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apr 04, 2025 pm 02:42 PM

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Mar 18, 2025 pm 03:16 PM

Artikel ini membincangkan debugging JavaScript yang berkesan menggunakan alat pemaju pelayar, memberi tumpuan kepada menetapkan titik putus, menggunakan konsol, dan menganalisis prestasi.

10 cara untuk meningkatkan prestasi jQuery anda dengan serta -merta 10 cara untuk meningkatkan prestasi jQuery anda dengan serta -merta Mar 11, 2025 am 12:15 AM

Artikel ini menggariskan sepuluh langkah mudah untuk meningkatkan prestasi skrip anda dengan ketara. Teknik -teknik ini adalah mudah dan boleh digunakan untuk semua tahap kemahiran. Tetap dikemas kini: Gunakan pengurus pakej seperti npm dengan bundler seperti Vite untuk memastikan

Menggunakan pasport dengan sekuel dan mysql Menggunakan pasport dengan sekuel dan mysql Mar 11, 2025 am 11:04 AM

Sequelize adalah node.js Orm berasaskan janji. Ia boleh digunakan dengan PostgreSQL, MySQL, MariaDB, SQLite, dan MSSQL. Dalam tutorial ini, kami akan melaksanakan pengesahan untuk pengguna aplikasi web. Dan kami akan menggunakan Pasport, Pengesahan Middlew Popular

Cara Membina Slider JQuery Mudah Cara Membina Slider JQuery Mudah Mar 11, 2025 am 12:19 AM

Artikel ini akan membimbing anda untuk membuat karusel gambar mudah menggunakan perpustakaan jQuery. Kami akan menggunakan perpustakaan BXSlider, yang dibina di atas jQuery dan menyediakan banyak pilihan konfigurasi untuk menubuhkan karusel. Pada masa kini, Gambar Carousel telah menjadi ciri yang mesti ada di laman web - satu gambar lebih baik daripada seribu perkataan! Selepas membuat keputusan untuk menggunakan karusel gambar, soalan seterusnya adalah bagaimana untuk menciptanya. Pertama, anda perlu mengumpul gambar-gambar resolusi tinggi yang berkualiti tinggi. Seterusnya, anda perlu membuat karusel gambar menggunakan HTML dan beberapa kod JavaScript. Terdapat banyak perpustakaan di web yang dapat membantu anda membuat karusel dengan cara yang berbeza. Kami akan menggunakan Perpustakaan BXSlider Sumber Terbuka. Perpustakaan BXSlider menyokong reka bentuk responsif, jadi karusel yang dibina dengan perpustakaan ini dapat disesuaikan dengan mana -mana

See all articles