Rumah > hujung hadapan web > tutorial js > Mengapakah Pengawal Jenis Diperlukan? Meneroka Pelbagai Jenis dan Kes Penggunaannya

Mengapakah Pengawal Jenis Diperlukan? Meneroka Pelbagai Jenis dan Kes Penggunaannya

Susan Sarandon
Lepaskan: 2024-11-11 19:39:03
asal
774 orang telah melayarinya

Why Are Type Guards Necessary? Exploring Different Types and Their Use Cases

Mengapa Pengawal Jenis Diperlukan? Meneroka Pelbagai Jenis dan Kes Penggunaannya

Dalam TypeScript, type guards memainkan peranan penting dalam menjadikan pangkalan kod lebih dipercayai dan mesra pembangun. Mereka membantu memastikan keselamatan jenis dengan membenarkan pembangun mengecilkan jenis, yang membantu dalam ralat masa jalan dan menjadikan kod lebih mudah difahami dan mudah diselenggara.

Apakah Pengawal Jenis?

Pengadang jenis ialah ungkapan od fungsi yang melakukan semakan masa jalan pada jenis, memastikan nilai memenuhi kriteria tertentu sebelum ia diproses selanjutnya. Ia membantu mengekalkan keselamatan jenis, membolehkan pembangun mengendalikan nilai dengan sewajarnya.

Mengapa Pengawal Jenis Diperlukan?

Dalam JavaScript, anda sering menemui nilai yang mungkin mempunyai berbilang jenis, seperti fungsi yang mengembalikan sama ada rentetan atau nombor. Tanpa pengawal jenis, TypeScript tidak akan dapat menentukan jenis yang tepat, yang membawa kepada kemungkinan ralat masa jalan dan tingkah laku yang salah. Pengawal jenis membolehkan anda menyemak jenis nilai pada masa jalan, membantu TypeScript mengecilkan jenis dan menyediakan penyemakan jenis yang lebih tepat.

Jenis Pengawal Jenis Biasa dan Kes Penggunaannya

1. jenis Pengawal Jenis

Kes Penggunaan: Pemeriksaan jenis asas untuk jenis primitif.
Contoh:

function printValue(value: string | number) {
  if (typeof value === "string") {
    console.log(`String value: ${value.toUpperCase()}`);
  } else {
    console.log(`Number value: ${value.toFixed(2)}`);
  }
}
Salin selepas log masuk

Penjelasan: typeof berkesan dengan jenis primitif (rentetan, nombor, boolean). Ia membolehkan fungsi mengendalikan jenis rentetan dan nombor secara berbeza.

2. Pengawal Jenis Tersuai (ialah Kata Kunci)

Kes Penggunaan: Untuk logik yang kompleks, semak bentuk atau antara muka tersuai.

Contoh:

 interface Square {
    side: number;
  }
  interface Circle {
    radius: number;
  }

  function isSquare(shape: Square | Circle): shape is Square {
    return (shape as Square).side !== undefined;
  }

  function calculateArea(shape: Square | Circle) {
    if (isSquare(shape)) {
      return shape.side * shape.side;
    } else {
      return Math.PI * shape.radius * shape.radius;
    }
  }
Salin selepas log masuk

Penjelasan: Pengawal jenis tersuai membolehkan anda menentukan fungsi yang menyemak atribut khusus untuk menentukan jenis. Di sini, isSquare menyemak kehadiran harta sampingan.

3. dalam Pengawal Jenis Operator

Kes Penggunaan: Menyemak sama ada objek mempunyai sifat tertentu.
Contoh:

 interface Car {
    drive(): void;
  }
  interface Boat {
    sail(): void;
  }

  function move(vehicle: Car | Boat) {
    if ("drive" in vehicle) {
      vehicle.drive();
    } else {
      vehicle.sail();
    }
  }

Salin selepas log masuk

Penjelasan: Operator dalam menyemak kewujudan harta, membantu TypeScript memahami jenis dan membenarkan akses kepada kaedah yang berkaitan.

Kesimpulan

Pengadang jenis ialah ciri berkuasa dalam TypeScript yang membolehkan semakan jenis yang tepat, mengurangkan ralat dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Dengan memanfaatkan jenis, instanceof, pengawal jenis tersuai dan pengendali dalam, anda boleh mengendalikan jenis kompleks dengan selamat dan berkesan dalam projek TypeScript.

Atas ialah kandungan terperinci Mengapakah Pengawal Jenis Diperlukan? Meneroka Pelbagai Jenis dan Kes Penggunaannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan