🐷

【Dart基礎】変数と定数の違い

2021/11/14に公開

今記事では、下記のツイートについて記事で説明していきます。

https://twitter.com/KboyFlutterUniv/status/1426113801934446597?s=20

変数とは

変数はその名の通り、変わってもいい「値を入れる箱」です。

String name = 'KBOY';

上のnameは変数で、名前をKBOYからJBOYに変えることができます。

String name = 'KBOY';
name = 'JBOY'; // これはOK!!

ちなみにvarをつかって以下のように変数を定義することもできます。

var name = 'KBOY';

次に紹介する定数では、名前をJBOYに変えることはできません。

定数とは

定数とは、値が一の「値を入れる箱」です。

final String name = 'KBOY';
name = 'JBOY' // これはできない!!!

上のように、finalをつけると、定数になるので、nameを変更しようとすると、エラーがでます。

これを見ると、変数の方が柔軟なので、全部変数でいいじゃんと思う人もいるかもしれません。しかし、コードを書く時は出来るだけ定数を使った方が良いです。 その理由は、あとから変更できないことを保証することで、より見やすくバグの起こりにくいコードにできるからです。

たとえばnameはKBOYから変えたくないのに、nameを変数にしておいてしまうと、後から別の人がコードをいじって、nameを勝手にJBOYにするコードを追加することができてしまいます。こういうことが積み重なると、アプリが意図しない仕様で動き、バグを起こしてしまいます。

以上の理由で、できるだけ定数を使った方がいいです。

定数の修飾子constとfinalの違い

dartには、constとfinalがあります。その違いについて詳しくはtwitterの画像の4枚目を読んでみてください!!

まとめ

以上です。今記事では以下のツイートをベースにDartの変数と定数の違いについての説明をしてみました。

https://twitter.com/KboyFlutterUniv/status/1426113801934446597?s=20

Flutter大学の公式アプリでも、上記のような教材をみることができますので、よければ入学して勉強に活用してみてください。

https://flutteruniv.com

Flutter大学

Discussion