🐷
【Dart基礎】変数と定数の違い
今記事では、下記のツイートについて記事で説明していきます。
変数とは
変数はその名の通り、変わってもいい「値を入れる箱」です。
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の変数と定数の違いについての説明をしてみました。
Flutter大学の公式アプリでも、上記のような教材をみることができますので、よければ入学して勉強に活用してみてください。
Discussion