dart: 名前付き引数とnull Safety

null許容指定と、省略不可指定、既定値指定とあるけれど、、

void main() {
  // class
  List<Person> pList = [
    Person(name: 'niko', age: 19),
    Person(name: 'junko', age: 18),
  ];
  print("${pList[0].name}${pList[1].name}");
  
  Person2 np = new Person2(name:'jinan',age:1);
  print("${np.name} は ${np.age}歳");

  Person3 np2 = new Person3(name:'chibita',age:1);
  print("${np2.name} は ${np2.age}歳");

}

class Person {
  String? name;   //null許容
  int? age;
  Person({this.name, this.age});
}

class Person2 {
  String name;
  int age;
  Person2({required this.name, required this.age}); //省略不可指定
}

class Person3 {
  String name;
  int age;
  Person3({this.name="", this.age=0}); //既定値指定
}
/* -----codeの行番号----- */