Dartにはコンパイル時定数の概念があります。コンパイル時にコンパイル時定数が解析され、作成され、正規化されます。例えば、ここではポイントのconst
コンストラクタDartがコンパイル時定数を持つのはなぜですか?
されています:
class Point {
final num x, y;
const Point(this.x, this.y);
}
そして、ここでは、あなたがそれを使用する方法は次のとおりです。
main() {
var p1 = const Point(0, 0);
var p2 = const Point(0, 0);
print(p1 == p2); // true
print(p1 === p2); // true
}
これは機能に一見なしの類似で、非自明な機能です他の動的言語でconst
オブジェクトには制限があります。すべてのフィールドはfinalでなければならず、constコンストラクターが必要です。
なぜDartはコンパイル時定数を持っていますか?