Saya cuba mentakrifkan jenis output untuk fungsi saya dan saya mahu menggunakan bendera toNumberIfNeeded
fungsi ini akan mengembalikan jenis angka, jika tidak, ia akan mengembalikan jenis rentetan. Apa patut saya buat?
Pilihan antara muka { huruf besar?: boolean; filterSpecialChars?: boolean; toNumberIfNeeded?: boolean; } eksport const textTransformer = (teks: rentetan, pilihan?: Pilihan) => const { huruf besar, filterSpecialChars, toNumberIfNeeded} = pilihan ||. //Kod logik pemprosesan saya kembali keNumberIfNeeded ? parseInt(text) : text; }
Contoh yang dijangkakan:
textTransformer('hello'); // Kembalikan jenis rentetan textTransformer('123', { toNumberIfNeeded: true }); // Kembalikan jenis angka
Anda boleh refactor
textTransformer()
方法,接受一个泛型参数,并使用条件类型来检查toNumberIfNeeded
是否为true
或false
。我认为 TypeScript 无法自动缩小返回值的类型。你必须使用类型断言,否则返回类型将被推断为string | number
.