[JavaScript] 引数のArrayネストが自動展開された
2013年8月11日
知らなくて、ちょっとハマった。
以下、Chrome と Node.js 0.11 で確認。
以下、Chrome と Node.js 0.11 で確認。
array.slice:
var arr = [1, 2, 3, 4, 5];
console.log(arr.slice([[[[[3]]]]])); // -> [4, 5]
array.join:
var arr = [1, 2, 3];
console.log(arr.join([[[[["/"]]]]])); // -> "1/2/3"
・・・とか、他にもあるかも。
concat や apply など、勝手に展開すると困るのはしないみたいです。
番外: [[[[["str"]]]]]
console.log([[[[["str"]]]]] + ""); // -> "str"
これは多分動作に期待しちゃダメだと思われます。
追記: というか、番外の自動キャストが引数に渡ってるだけだった
[[[[[3]]]]] -> "3" -> 3
超すみません、お騒がせしました。