typescript - Deklarasi fungsi dengan beberapa tipe


Saya memiliki fungsi berikut yang mengambil sebuah String dan mengembalikan sebuah String seperti

mockingcase('foobar')
// => fOoBaR

Proyek ini memiliki file deklarasi Typescript. Saya tidak tahu banyak tentang Typescript (tidak membaca apa pun selain satu jam terakhir yang dihabiskan membaca dokumennya.)

Fungsi mockingcase kini memiliki kemampuan untuk mengembalikan String dari Array string

mockingcase(['foo','bar'])
// => 'fOoBaR'

Bagaimana cara mengubah berkas deklarasi TypeScript sehingga dapat menerima String atau Array?

asli :

function mockingcase(input: string, options?: { random?: boolean }): string;

ide saya:

function mockingcase(input: string|array, options?: { random?: boolean }): string;

Apakah saya benar-benar salah?

Jawaban #1

Kamu sudah dekat - tipe array juga harus mendefinisikan tipe objek yang terdapat di dalam array:

input: string | string[]

Atau :

input: string | Array<string>