Rumah > Soal Jawab > teks badan
P粉1945410722023-08-25 11:31:36
Ini adalah tingkah laku yang disengajakan. Lihat perbincangan panjang tentang isu ini pada repositori TypeScript GitHub
strictNullChecks
anda ditutup;
P粉3302320962023-08-25 11:19:47
TypeScript 4.1 memperkenalkan --noUncheckedIndexedAccess
编译器标志,实现了在microsoft/TypeScript#13778中提出的建议,以考虑这种情况下的undefined
。请注意,该功能不会作为--strict
编译选项集的一部分启用,并且被称为“严格的索引签名”,因为它会在程序员可能不希望或期望的情况下发出关于undefined
amaran.
Anda telah mendapati bahawa tandatangan indeks tidak menambah | undefined
pada jenis elemen seperti atribut pilihan. Terdapat cadangan untuk mencipta pilihan pengkompil untuk mencapai ini pada microsoft/TypeScript#13778. Anda boleh membaca komen dalam cadangan itu; mereka menghubungkan kepada soalan lain, tetapi konsensusnya ialah kadar ralat yang tinggi hampir menjadikannya tidak berguna.
juga menyebut bahawa anda boleh menambah | undefined
secara manual pada jenis elemen:
const list: (Item | undefined)[] = [{ id: 'a' }, { id: 'b' }];
Ini akan berfungsi seperti yang anda jangkakan tanpa menjejaskan keseluruhan bahasa.