a = new Uint16Array([10, 20]); b = new Array(10, 20); console.log(JSON.stringify(a)); // {"0":10,"1":20} console.log(JSON.stringify(b)); // [10,20] ArrayとUint16Arrayでは同じ配列なのに、なぜかこのように挙動が異なります。 なぜ Array を名乗るのに少し動きが違うのか? 今回はもう少し深掘りします。 JSON.stringify() の挙動 JSON - JavaScript | MDN ポリフィル JSON オブジェクトは古いブラウザでサポートされていません。この問題はスクリプトの先頭に以下のコードを挿入して、(Internet Explorer 6 のような) JSON をネイティブにサポートしないブラウザでの JSON