Float64Array() コンストラクター

Float64Array() は型付き配列のコンストラクターで、新しい Float64Array オブジェクト、すなわち64ビット浮動小数点数 (C 言語の double データ型に相当) の配列をプラットフォームのバイトオーダーで生成します。バイトオーダーを制御する必要がある場合は、代わりに DataView を使用してください。生成後は、オブジェクトのメソッドや、標準の配列の添字構文 (すなわち角括弧表記) を用いて配列の要素を参照することができます。

構文

new Float64Array(); // new in ES2017
new Float64Array(length);
new Float64Array(typedArray);
new Float64Array(object);
new Float64Array(buffer [, byteOffset [, length]]);

引数

length
length 引数付きで呼び出された場合、 lengthBYTES_PER_ELEMENT バイトで掛けた大きさで、内部の配列バッファーがメモリ内に生成され、内容がゼロになります。
typedArray
typedArray 引数は任意の型付き配列 (Int32Array など) で、 typedArray を付けて呼び出された場合、その内容が新しい型付き配列に複写されます。 typedArray に含まれるそれぞれの値は、新しい配列にコピーされる前に、このコンストラクターに対応する型に変換されます。新しい型付き配列の長さは、 typedArray 引数の長さと同じになります。
object
object 引数付きで呼び出された場合、新しい型付き配列は TypedArray.from() メソッドのようにして生成されます。
buffer, byteOffset, length
buffer 引数と、任意で byteOffset および length 引数をつけて呼び出された場合、新しい型付き配列のビューが作成され、そのビューが指定された ArrayBuffer となります。 byteOffset および length 引数は、型付き配列のビューで公開するメモリの範囲を指定します。両方が省略された場合は、 buffer 全体がビューとなり、 length のみが省略された場合は、 buffer の残りがビューとなります。

Float64Array を生成するための様々な方法

// From a length
var float64 = new Float64Array(2);
float64[0] = 42;
console.log(float64[0]); // 42
console.log(float64.length); // 2
console.log(float64.BYTES_PER_ELEMENT); // 8

// From an array
var arr = new Float64Array([21,31]);
console.log(arr[1]); // 31

// From another TypedArray
var x = new Float64Array([21, 31]);
var y = new Float64Array(x);
console.log(y[0]); // 21

// From an ArrayBuffer
var buffer = new ArrayBuffer(32);
var z = new Float64Array(buffer, 0, 4);

// From an iterable 
var iterable = function*(){ yield* [1,2,3]; }();
var float64 = new Float64Array(iterable);
// Float64Array[1, 2, 3]

仕様書

仕様書
ECMAScript (ECMA-262)
TypedArray constructors の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
Float64Array() constructorChrome 完全対応 7Edge 完全対応 12Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
Constructor without argumentsChrome 完全対応 7Edge 完全対応 12Firefox 完全対応 55IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 55Opera Android 完全対応 12Safari iOS 完全対応 5Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
new Float64Array(iterable)Chrome 完全対応 39Edge 完全対応 14Firefox 完全対応 52IE 未対応 なしOpera 完全対応 26Safari 完全対応 10WebView Android 完全対応 39Chrome Android 完全対応 39Firefox Android 完全対応 52Opera Android 完全対応 26Safari iOS 完全対応 10Samsung Internet Android 完全対応 4.0nodejs 完全対応 4.0.0
Float64Array() without new throwsChrome 完全対応 7Edge 完全対応 14Firefox 完全対応 44IE 未対応 なしOpera 完全対応 15Safari 完全対応 5.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 44Opera Android 完全対応 14Safari iOS 完全対応 5Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.12

凡例

完全対応  
完全対応
未対応  
未対応

互換性ノート

ECMAScript 2015 から、 Float64Array コンストラクターは new 演算子を使用して構築する必要があります。 new 演算子を使用せずに Float64Array コンストラクターを呼び出した場合、 TypeError が発生するようになりました。

var dv = Float64Array([1, 2, 3]);
// TypeError: calling a builtin Float64Array constructor
// without new is forbidden
var dv = new Float64Array([1, 2, 3]);

関連情報