Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mendapatkan Susunan Kekunci Antara Muka dalam TypeScript?

Bagaimanakah Saya Boleh Mendapatkan Susunan Kekunci Antara Muka dalam TypeScript?

DDD
DDDasal
2024-10-29 09:31:301007semak imbas

How Can I Get an Array of Interface Keys in TypeScript?

Mengakses Kekunci Antara Muka sebagai Tatasusunan Rentetan dalam TypeScript

Dalam TypeScript, ia boleh berguna untuk mendapatkan nama sifat antara muka sebagai tatasusunan daripada rentetan. Pertimbangkan antara muka berikut:

<code class="typescript">export interface IMyTable {
  id: number;
  title: string;
  createdAt: Date;
  isDeleted: boolean;
}</code>

Kami ingin menukar antara muka ini kepada tatasusunan seperti ini:

<code class="typescript">const IMyTable = ["id", "title", "createdAt", "isDeleted"];</code>

Menyalurkan melalui sifat antara muka untuk mengekstrak nama kunci bukanlah disokong secara langsung dalam TypeScript. Walau bagaimanapun, terdapat penyelesaian menggunakan pengubah tersuai.

Menggunakan Transformer Tersuai

Sehingga TypeScript 2.4, pengubah tersuai menyediakan cara untuk mengubah suai gelagat TypeScript. Kami boleh mentakrifkan pengubah tersuai untuk mengekstrak kekunci antara muka.

<code class="typescript">import { keys } from 'ts-transformer-keys';

interface Props {
  id: string;
  name: string;
  age: number;
}
const keysOfProps = keys<Props>();

console.log(keysOfProps); // ['id', 'name', 'age']</code>

Had Transformer Tersuai

Pengubah tersuai mempunyai had. Mereka memerlukan penggunaan API transformasi TypeScript dan bukannya perintah tsc tradisional. Terdapat isu terbuka yang meminta sokongan pemalam untuk pengubah tersuai.

Pertimbangan Lain

Jika anda menggunakan rangka kerja yang menjana antara muka secara dinamik, anda mungkin perlu meneroka lebih lanjut penyelesaian, seperti menggunakan perpustakaan utiliti jenis atau alat pengaturcaraan meta seperti Reflect.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Susunan Kekunci Antara Muka dalam TypeScript?. 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