this.propertyName 은 짧고 간단하게 constructor의 values에 값을 할당할 때 사용한다.
class MyColor {
int red;
int green;
int blue;
MyColor(this.red, this.green, this.blue);
}
final color = MyColor(80, 80, 128);
제시된 코드에서 this.은 class 변수에 값을 넣겠다는 것을 의미한다.
이러한 방식은 named parameters에서도 사용된다.
class MyColor {
...
MyColor({required this.red, required this.green, required this.blue});
}
final color = MyColor(red: 80, green: 80, blue: 80);
위 코드는 MyColor의 parameters에 this를 사용한 예이다.
여기에는 required가 사용되었는데, int values는 null이 될 수 없기 때문이다.
MyColor([this.red = 0, this.green = 0, this.blue = 0]);
// or
MyColor({this.red = 0, this.green = 0, this.blue = 0});
첫 번째 코드는 리스트?
두 번째 코드는 property names가 parameters가 될 수 있음을 보여주는 예.
class MyClass {
final int anInt;
final String aString;
final double aDouble;
// Create a constructor here.
}
class MyClass {
final int anInt;
final String aString;
final double aDouble;
MyClass(this.anInt, this.aString, this.aDouble);
}
참고 사이트: https://dart.dev/codelabs/dart-cheatsheet#initializer-lists