Ini
const { foo: IFoo[] } = bar;
dan ini
const { foo: Array<IFoo> } = bar;
akan menyebabkan kesalahan.
Dan ini
const { foo: TFoo } = bar;
hanya akan merusak TFoo
properti.
Bagaimana tipe dapat ditentukan untuk properti objek yang dirusak?
typescript
destructuring
Estus Flask
sumber
sumber
bar
sih?Jawaban:
Ternyata dimungkinkan untuk menentukan jenis setelah
:
untuk seluruh pola penghancuran:Yang pada kenyataannya tidak lebih baik dari tua biasa
sumber
{foo}
bukan nilai. Inilah yang biasanya disebut "pola tugas dekonstruksi". Apa yang Anda lihat di sini sebenarnya adalah fitur TypeScript khusus yang memungkinkan jenis-jenis terkait dengan pola tersebut.let x, y, z: string
yang tampaknya hanya menentukan jenisz
. Saya memperbarui jawabannya.Saya jelas agak terlambat ke pesta, tapi:
Jenis properti
name
danage
harus disimpulkan dengan benarstring
dannumber
masing - masing.sumber
Sebuah tindak lanjut dari pertanyaan saya sendiri.
Jenis tidak perlu ditentukan untuk properti objek karena disimpulkan dari objek yang dirusak.
Mengingat
bar
itu diketik dengan benar,foo
jenis akan disimpulkan:Meskipun
bar
tidak diketik dengan benar (any
atauunknown
), tipenya dapat ditegaskan:sumber