const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
console.log(matrix.join()); // 1,2,3,4,5,6,7,8,9
console.log(matrix.join(";")); // 1,2,3;4,5,6;7,8,9
配列が循環している(コンテナーそのものである要素を格納している)場合、ブラウザーは循環参照を無視することで無限再帰を避けます。
const arr = [];
arr.push(1, [3, arr, 4], 2);
console.log(arr.join(";")); // 1;3,,4;2
疎配列で使用した場合、 join() メソッドは空のスロットを undefined という値があるかのように反復処理します。
join() メソッドは汎用的です。これは this 値に length プロパティと整数キーのプロパティがあることだけを期待します。
以下の例は、3 個の要素を持つ配列 a を作成し、デフォルト引数、カンマとスペース、そして「と」と空文字を使った 4 パターンの結合を行っています。
const a = ["風", "水", "火"];
a.join(); // '風,水,火'
a.join(", "); // '風, 水, 火'
a.join(" + "); // '風 + 水 + 火'
a.join(""); // '風水火'
join() は空のスロットを undefined と同じように扱い、余分な区切り文字を生成します。
console.log([1, , 3].join()); // '1,,3'
console.log([1, undefined, 3].join()); // '1,,3'
join() メソッドは this の length プロパティを読み込み、次にキーが length より小さい非負の整数である各プロパティにアクセスします。