初歩的な質問なのですが

ArrayクラスのassignとassignStructの違いがわかりません。
説明では、assignStructの方は再帰的にその内容をコピーすると書いてあったのですが

var array = [];
array[0] = ["array00","あああ"];
array[1] = ["array01","いいい"];

var array2 = [];
array2.assign(array);

これで、二次配列もちゃんとコピー出来ているみたいでしたので、違いがいまいちわかりませんでした。
例えば、配列の中に辞書配列を作る場合等に使うのでしょうか。
でもその場合、辞書配列はincontextofを使うように記述があるのですが、Array.assignStructでの記述だと無理矢理これらもコピー出来てしまうのでしょうか。