【Flutter/Dart】ドット3つ+はてなマーク(...?)の意味

今回はListなどの配列で見かけるドット3つ+はてなマーク...?とは何かについて紹介します。

結論から言うと...スプレッド演算子?はスプレッド構文でNullの可能性がある配列を追加する際に使用します。

\ 世界最大級のオンライン学習サービス /

目次

スプレッド構文(スプレッド演算子)とは?

var list = [1, 2, 3];
var list2 = [0, ...list];
print(list2);

//結果
//[0, 1, 2, 3]

スプレッド演算子...は配列の中で別の配列の外枠を外し要素を追加する際に使用されます。(スプレッド構文と呼ばれます)

Nullの配列には使用できない

List? list;
var list2 = [0, ...list]; //エラー
print(list2);

しかしながらNullの配列はスプレッド構文では追加できないので、Nullになりえる配列の要素を追加する場合に...?を使用します。

スプレッド構文でNullの可能性がある配列を追加

List? list;
var list2 = [0, ...?list];
print(list2);

//結果
//[0]

...?を使えばNullの配列をスプレッド構文で使用できます。

一緒に読みたい

参考

  • URLをコピーしました!
目次