Почему dart не позволяет инициализировать поля через this в теле конструктора?
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
Dart не даёт компилировать этот код, почему так?
Ответы (1 шт):
Автор решения: Dinario
→ Ссылка
После внедрения нулевой безопасности, такой код перестал работать. Все не нулевые переменные должны быть инициализированы. В вашем случае просто инициализируйте переменные сразу в конструкторе.
class Person {
String name;
int age;
Person(this.name, this.age);
}
Если вы планируете преобразование, то используйте ключевое слово late
late String name;
late int age;
Или через конструктор
Person(String name, int age) : this.name = name, this.age = age;