Array, Mapリテラル

ArrayオブジェクトおよびMapオブジェクトの作成と要素の格納を一括で行える記法です。

※この文法はBiz/Browser DT 1.2.0より追加されました。

※Biz/Browser DT 1.5.0から、ArrayリテラルおよびMapリテラルの新文法に対応しました。

Biz/Browser DT 1.5.0からは、リテラルの開始括弧の前に @ を付けて記述します。 従来の [...] および {...} の記法は非推奨(deprecated)となりましたが、少なくともv2.0.0までは引き続き利用可能となる予定です。


空のArrayリテラル、Mapリテラルを作成するには、@ に続けて角括弧または波括弧を記述します。

var arr = @[];
var map = @{};

また、初期要素を格納する場合、下記のように記述します。

Arrayリテラルの場合は、@[ と ] の間に値をカンマ区切りで記載します。 Mapリテラルの場合は、@{ と } の間に「キー:値」のセットをカンマ区切りで記載します。

var arr = @[1, 2, 3, "a", "b"];
var map1 = @{a:1, b:2}; # キーに指定する文字列は、キーがvar変数名と同じ規則で表せる場合、ダブルクオートを省略可能です。
var map2 = @{0:"abc", "1":"def"}; # キーには数字を指定する事も可能です。

初期要素には他の定数、変数と同様に、新文法を使ってArrayリテラルやMapリテラルを入れ子で構築する事も可能です。

var arr = @[@["a", "b"], @["c", "d"], @{"e":"fgh"}];
print(arr[1][0]); # "c"が出力されます。
print(arr[2]["e"]); # "fgh"が出力されます。

また、Arrayリテラルは他の定数、変数同様の操作が可能です。

function f(arr) {
  print(arr[0]);
}

f(@["a", "b", "c"]); # 引数として受け渡し可能"a"が出力されます。

print(@{"a":1, "b":2}["b"]); # Mapリテラルを定義し、そのMapリテラルの要素"2"が出力されます。