Flutterラボの

プレミアム会員になる

【Dart】【Flutter】finalとconstの違いについて

2020.11.26

値を再代入させないようにする変数宣言の方法には、finalとconstの2種類があります。

final

宣言された変数は定数として扱われ、再代入することはできません。

final int a = 0;

型を特定させなければ、型推論(var)と同じように扱われます。

final a = 0;

const

宣言された変数はコンパイルで評価された定数として扱われ、再代入することはできません。

const int b = 0;

final と同様に、型を特定させなければ、型推論(var)と同じように扱われます。

const b = 0;

まとめ

どちらとも定数として扱われるが、constはコンパイルで評価され、finalは評価されない。

宣言の際に、すでに宣言された変数を代入すると、finalはコンパイルで評価しないためエラーにはならないが、constではエラーになる。

int x = 1;

final int b = x; //エラーにはならない
const int a = x; //エラー
Flutterラボ
hatchoutschool
FlutterとNuxtに関する知識を発信しています! 動画で学べる学習サイト『Flutterラボ』と『Nuxtラボ』を運営 Flutterラボ:https://flutterlabo.tech/ Nuxtラボ:https://flutterlabo.tech/nuxt