typescript - aturan compiler untuk mengenali cabang if yang selalu dievaluasi
Dalam kode ini:
class Abc {
field1: string;
constructor(data: string) {
if (true) {
this.field1 = "";
}
}
}
tidak ada kesalahan compiler.
Tapi jika saya mengubah ekspresi dalam kondisi if menjadi data !== null, maka muncul kesalahan compiler: Property 'field1' has no initializer and is not definitely assigned in the constructor. Tapi dari sudut pandang compiler, tipe data string seharusnya tidak pernah bernilai null, itu hanya bisa string | null. Mengapa compiler memberikan kesalahan ini?