Rumah >hujung hadapan web >tutorial js >Mengapa Memilih Jenis Daripada Antara Muka

Mengapa Memilih Jenis Daripada Antara Muka

王林
王林asal
2024-08-05 19:03:02774semak imbas

Why to Choose Types Instead of Interfaces

Dalam TypeScript, kedua-dua Jenis dan Antara Muka digunakan untuk menentukan jenis objek. Walau bagaimanapun, mereka mempunyai kegunaan dan ciri yang berbeza. Kedua-duanya boleh membantu pembangun mengekang jenis pembolehubah dan objek semasa menulis kod, dengan itu mengurangkan ralat dan meningkatkan kebolehbacaan kod.

Jadi mengapa Jenis? Mari kita bincangkan perkara ini.

Jenis

Dalam TypeScript, jenis membolehkan anda menentukan bentuk data. Ia fleksibel dan boleh digunakan untuk mewujudkan kesatuan, persimpangan dan banyak lagi.

type User = {
  name: string;
  age: number;
};

type Admin = User & {
  isAdmin: boolean;
};

Antara muka

Antara muka ialah cara lain untuk menentukan bentuk objek. Ia lebih tegar daripada jenis dan digunakan terutamanya untuk menentukan bentuk objek dan kontrak kelas.

interface User {
  name: string;
  age: number;
}

interface Admin extends User {
  isAdmin: boolean;
}

Mengapa Saya Lebih Suka Jenis

  • Kesatuan

Jenis kesatuan membolehkan anda menentukan jenis yang boleh menjadi salah satu daripada beberapa jenis. Ini berguna untuk parameter fungsi dan jenis pulangan. Di sini, ID boleh sama ada rentetan atau nombor, menunjukkan kuasa jenis kesatuan.

type ID = string | number;

function getUserId(id: ID): string {
  return `User ID: ${id}`;
}
  • String Literal

Jenis literal membolehkan anda menentukan nilai tepat yang boleh dimiliki oleh pembolehubah. Ini benar-benar berguna untuk menentukan pemalar atau pilihan konfigurasi.

type Direction = 'north' | 'south' | 'east' | 'west';

function move(direction: Direction) {
  console.log(`Moving ${direction}`);
}

move('north');
  • Jenis bersyarat

Jenis membenarkan penciptaan jenis bersyarat, membolehkan pemilihan jenis berdasarkan syarat

type Check<T> = T extends string ? string : number;

let result1: Check<string>; // result1 is of type string
let result2: Check<number>; // result2 is of type number
  • Persimpangan

Jenis persimpangan membolehkan anda menggabungkan berbilang jenis menjadi satu. Ini amat berguna untuk mencipta gubahan jenis kompleks.

type Person = {
  name: string;
  age: number;
};

type Employee = {
  employeeId: number;
};

type EmployeeDetails = Person & Employee;

const employee: EmployeeDetails = {
  name: 'Dev',
  age: 30,
  employeeId: 12345,
};

Memilih antara jenis dan antara muka akhirnya bergantung pada kes penggunaan khusus anda dan keutamaan peribadi. Walau bagaimanapun, memahami kekuatan setiap satu boleh membantu anda membuat keputusan yang lebih termaklum dan menulis kod TypeScript yang lebih baik.

Atas ialah kandungan terperinci Mengapa Memilih Jenis Daripada Antara Muka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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