Int16Array()
typed array constructor creates an array of twos-complement 16-bit signed integers in the platform byte order. If control over byte order is needed, use
DataView
instead. The contents are initialized to
0
. Once established, you can reference elements in the array using the object's methods, or using standard array index syntax (that is, using bracket notation).
new Int16Array(); // new in ES2017 new Int16Array(length); new Int16Array(typedArray); new Int16Array(object); new Int16Array(buffer [, byteOffset [, length]]);
length
length
argument, an internal array buffer is created in memory, of size
length
multiplied by
BYTES_PER_ELEMENT
bytes, containing zeros.
typedArray
typedArray
argument, which can be an object of any of the typed array types (such as
Int32Array
), the
typedArray
gets copied into a new typed array. Each value in
typedArray
is converted to the corresponding type of the constructor before being copied into the new array. The length of the new typed array will be same as the length of the
typedArray
自变量。
object
object
argument, a new typed array is created as if by the
TypedArray
.from()
方法。
buffer
,
byteOffset
,
length
buffer
, and optionally a
byteOffset
和
length
argument, a new typed array view is created that views the specified
ArrayBuffer
。
byteOffset
and
length
parameters specify the memory range that will be exposed by the typed array view. If both are omitted, all of
buffer
is viewed; if only
length
is omitted, the remainder of
buffer
is viewed.
Int16Array
// From a length
var int16 = new Int16Array(2);
int16[0] = 42;
console.log(int16[0]); // 42
console.log(int16.length); // 2
console.log(int16.BYTES_PER_ELEMENT); // 2
// From an array
var arr = new Int16Array([21,31]);
console.log(arr[1]); // 31
// From another TypedArray
var x = new Int16Array([21, 31]);
var y = new Int16Array(x);
console.log(y[0]); // 21
// From an ArrayBuffer
var buffer = new ArrayBuffer(8);
var z = new Int16Array(buffer, 0, 4);
// From an iterable
var iterable = function*(){ yield* [1,2,3]; }();
var int16 = new Int16Array(iterable);
// Int16Array[1, 2, 3]
| 规范 |
|---|
|
ECMAScript (ECMA-262)
The definition of 'TypedArray constructors' in that specification. |
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Int16Array()
构造函数
|
Chrome 7 | Edge 12 | Firefox 4 | IE 10 | Opera 11.6 | Safari 5.1 | WebView Android 4 | Chrome Android 18 | Firefox Android 4 | Opera Android 12 | Safari iOS 4.2 | Samsung Internet Android 1.0 | nodejs 0.10 |
| Constructor without arguments | Chrome 7 | Edge 12 | Firefox 55 | IE 10 | Opera 11.6 | Safari 5.1 | WebView Android ≤37 | Chrome Android 18 | Firefox Android 55 | Opera Android 12 | Safari iOS 5 | Samsung Internet Android 1.0 | nodejs 0.10 |
new Int16Array(iterable)
|
Chrome 39 | Edge 14 | Firefox 52 | IE No | Opera 26 | Safari 10 | WebView Android 39 | Chrome Android 39 | Firefox Android 52 | Opera Android 26 | Safari iOS 10 | Samsung Internet Android 4.0 | nodejs 4.0.0 |
Int16Array()
without
new
throws
|
Chrome 7 | Edge 14 | Firefox 44 | IE No | Opera 15 | Safari 5.1 | WebView Android ≤37 | Chrome Android 18 | Firefox Android 44 | Opera Android 14 | Safari iOS 5 | Samsung Internet Android 1.0 | nodejs 0.12 |
完整支持
不支持
Starting with ECMAScript 2015,
Int16Array
constructors require to be constructed with a
new
operator. Calling a
Int16Array
constructor as a function without
new
, will throw a
TypeError
from now on.
var dv = Int16Array([1, 2, 3]); // TypeError: calling a builtin Int16Array constructor // without new is forbidden
var dv = new Int16Array([1, 2, 3]);
TypedArray
TypedArray.from()
TypedArray.of()
TypedArray.prototype.copyWithin()
TypedArray.prototype.entries()
TypedArray.prototype.every()
TypedArray.prototype.fill()
TypedArray.prototype.filter()
TypedArray.prototype.find()
TypedArray.prototype.findIndex()
TypedArray.prototype.forEach()
TypedArray.prototype.includes()
TypedArray.prototype.indexOf()
TypedArray.prototype.join()
TypedArray.prototype.keys()
TypedArray.prototype.lastIndexOf()
TypedArray.prototype.map()
TypedArray.prototype.reduce()
TypedArray.prototype.reduceRight()
TypedArray.prototype.reverse()
TypedArray.prototype.set()
TypedArray.prototype.slice()
TypedArray.prototype.some()
TypedArray.prototype.sort()
TypedArray.prototype.subarray()
TypedArray.prototype.toLocaleString()
TypedArray.prototype.toString()
TypedArray.prototype.values()
TypedArray.prototype[@@iterator]()
Int8Array
Uint8Array
Uint8ClampedArray
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array
BigInt64Array
BigUint64Array
Function
Object
Object.prototype.__defineGetter__()
Object.prototype.__defineSetter__()
Object.prototype.__lookupGetter__()
Object.prototype.__lookupSetter__()
Object.prototype.hasOwnProperty()
Object.prototype.isPrototypeOf()
Object.prototype.propertyIsEnumerable()
Object.prototype.toLocaleString()
Object.prototype.toSource()
Object.prototype.toString()
Object.prototype.valueOf()
Object.setPrototypeOf()