次の例を検討してください。
var a, b, c, d;
a = new Array(1,2,3);
b = "dog";
c = new Array(42, "cat");
d = a.concat(b, c);
document.write(d); // outputs 1, 2, 3, dog, 42, cat - makes sense
私が得られないものは次のとおりです。
alert(b[0]); // d
alert(b[1]); // o
.. etc.
が新しい配列オブジェクトを返すことは理解concat()
していますが、なぜ文字列 "dog" を個々の配列要素にスライスするのでしょうか? b[0]
「犬」b[1]
を返し、未定義を返すと予想していました。これが愚かな質問である場合は申し訳ありません:/