[Dart]「dynamic」とは?

Dart

Dartの「dynamic」とは何か?また、その使用について解説します。

スポンサーリンク

dynamicとは

プログラマー, プログラミング, コード, 仕事, コンピューター

「dynamic」は、どんな値でも代入できる型です。

このキーワドを指定した変数は、どんな型の値であっても代入することが出来ます。

  //Int型の値を代入
  dynamic dy = 1;
  
  //String型の値を代入
  dy = "あ";

たとえ、初期化時の値と違う型でも代入できます。

使用について

インターフェース, インターネット, プログラム, ブラウザ, Www

「dynamic」は、言ってしまえば「なんでも屋の型」で、とても便利な型に思えます。

ですが、使用は極力避け、本当に必要な時だけ使わなければいけません。

理由は、2つあります。

1つは、Dartの公式ガイドラインにそう記されているからです。

ガイドラインでは、「dynamic」の代わりに「var」を使用するように勧められています。

もう1つは、型本来の意味を失ってしまうからです。

そもそも何でもありの型なんてモノは、もはや型とは言えません。

「いつ使うの?」と思った人もいるかもしれません。
「dynamic」の使用が必要なことは、ほとんどありません。
必ず使うのは、「JSON」のエンコード・デコードの時です。

まとめ

「dynamic」は、どんな型でも使える「何でも屋」です。

ですが、使用は避けるように勧められています。

本当に必要な時以外は、「var」を使うようにしましょう。

参考

Dartガイドライン

Alberto Miola, Flutter Complete Reference.(書籍)

オススメの記事

[Dart]「finalキーワード」を使うワケ

[Dart]変数宣言のやり方

[Dart]変数の型を定義する方

コメント

タイトルとURLをコピーしました