Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mendapatkan Kunci Antara Muka TypeScript sebagai Tatasusunan Rentetan?

Bagaimanakah Saya Boleh Mendapatkan Kunci Antara Muka TypeScript sebagai Tatasusunan Rentetan?

Linda Hamilton
Lepaskan: 2024-10-29 19:04:30
asal
616 orang telah melayarinya

How Can I Get the Keys of a TypeScript Interface as a String Array?

Kunci Antara Muka TypeScript sebagai Tatasusunan Rentetan

Satu senario biasa dalam pembangunan TypeScript ialah mengendalikan antara muka jadual pangkalan data dan lajurnya masing-masing. Sebagai contoh, pertimbangkan antara muka yang ditakrifkan sebagai:

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

Seseorang mungkin perlu mendapatkan semula nama sifat antara muka ini sebagai tatasusunan rentetan, seperti:

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

Ini amat penting apabila mengakses antara muka jadual secara dinamik di mana penetapan objek/tatasusunan langsung tidak dapat dilaksanakan.

Penyelesaian

Untuk mencapai ini, seseorang boleh menggunakan pengubah tersuai yang diperkenalkan dalam TypeScript 2.3, tersedia sebagai pakej pihak ketiga :

<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>
Salin selepas log masuk

Pengubah ini memerlukan penggunaan API transformasi TypeScript dan bukannya menggunakan arahan tsc secara langsung. Walau bagaimanapun, terdapat isu berterusan yang meminta sokongan pemalam untuk pengubah tersuai untuk memudahkan penggunaannya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Kunci Antara Muka TypeScript sebagai Tatasusunan Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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