| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/TypedArray | [Back] [Original] |
Get to know MDN better
// Create a TypedArray with a size in bytes
const typedArray1 = new Int8Array(8);
typedArray1[0] = 32;
const typedArray2 = new Int8Array(typedArray1);
typedArray2[1] = 42;
console.log(typedArray1);
// Expected output: Int8Array [32, 0, 0, 0, 0, 0, 0, 0]
console.log(typedArray2);
// Expected output: Int8Array [32, 42, 0, 0, 0, 0, 0, 0]
TypedArray %TypedArray% JavaScript TypedArray %TypedArray% TypedArray Object.getPrototypeOf(Int8Array)
TypedArray Int8Array ArrayBuffer ArrayBuffer %TypedArray%.prototype
| Web IDL | C | ||||
|---|---|---|---|---|---|
Int8Array |
-128 127 | 1 | 8 | byte |
int8_t |
Uint8Array |
0 255 | 1 | 8 | octet |
uint8_t |
Uint8ClampedArray |
0 255 | 1 | 8 0 255 | octet |
uint8_t |
Int16Array |
-32768 32767 | 2 | 16 | short |
int16_t |
Uint16Array |
0 65535 | 2 | 16 | unsigned short |
uint16_t |
Int32Array |
-2147483648 2147483647 | 4 | 32 | long |
int32_t |
Uint32Array |
0 4294967295 | 4 | 32 | unsigned long |
uint32_t |
Float32Array |
-3.4E38 3.4E38 1.2E-38 |
4 | 32 IEEE 7 1.234567 |
unrestricted float |
float |
Float64Array |
-1.8E308 1.8E308 5E-324 |
8 | 64 IEEE 16 1.23456789012345 |
unrestricted double |
double |
BigInt64Array |
-263 263 - 1 | 8 | 64 | bigint |
int64_t (signed long long) |
BigUint64Array |
0 264 - 1 | 8 | 64 | bigint |
uint64_t (unsigned long long) |
ArrayBuffer
Uint8ArrayUint16ArrayUint32Array BigUint64ArrayInt8ArrayInt16ArrayInt32Array BigInt64ArrayFloat32Array Float64Array IEEE 754Number JavaScript Float64Array Float32Array 23 52 8 11 NaN Uint8ClampedArray Uint8Array clamp 0 255 Int8ArrayUint8Array Uint8ClampedArray DataView
Uint8ClampedArray Uint8ClampedArray 0 255 255 255 0 00.5 01.5 22.5 2Float32Array 64 32 Math.fround() TypedArray TypedArray TypedArray
undefined buffer
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
const float32 = new Float32Array(buffer);
console.log(float32.byteLength); // 8
console.log(float32.length); // 2
buffer.resize(12);
console.log(float32.byteLength); // 12
console.log(float32.length); // 3
length buffer
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
const float32 = new Float32Array(buffer, 0, 2);
console.log(float32.byteLength); // 8
console.log(float32.length); // 2
console.log(float32[0]); // 0,
buffer.resize(12);
console.log(float32.byteLength); // 8
console.log(float32.length); // 2
console.log(float32[0]); // 0,
buffer 0
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
const float32 = new Float32Array(buffer, 0, 2);
buffer.resize(7);
console.log(float32.byteLength); // 0
console.log(float32.length); // 0
console.log(float32[0]); // undefined
buffer
buffer.resize(8);
console.log(float32.byteLength); // 8
console.log(float32.length); // 2
console.log(float32[0]); // 0 -
buffer byteOffset
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
const float32 = new Float32Array(buffer, 4);
// float32 4
// 4
buffer.resize(3);
console.log(float32.byteLength); // 0
new TypeError
new (Object.getPrototypeOf(Int8Array))();
// TypeError: Abstract class TypedArray not directly constructable
new TypedArray()
new TypedArray(length)
new TypedArray(typedArray)
new TypedArray(object)
new TypedArray(buffer)
new TypedArray(buffer, byteOffset)
new TypedArray(buffer, byteOffset, length)
TypedArray
typedArray TypedArray typedArray bigint TypeedArray typedArray bigint Int32Array bigint TypedArray BigInt64Array BigUint64ArraytypedArray bigint typedArray typedArray
object TypedArray TypedArray.from()
length bufferbyteOffset length ArrayBuffer SharedArrayBuffer byteOffset length byteOffset length buffer length byteOffset buffer
TypeArray
TypeErrortypedArray bigint typedArray bufferRangeErrorbuffer length byteOffset byteOffset 0 253 - 1 byteOffset + length * TypedArray.BYTES_PER_ELEMENT > buffer.byteLength TypedArray TypedArray
TypedArray
TypedArray.BYTES_PER_ELEMENT TypedArray
TypedArray TypedArray
TypedArray.from() TypedArray Array.from()
TypedArray.of() TypedArray Array.of()
TypedArray getter TypedArray
TypedArray.prototype.bufferTypedArray.prototype.byteLengthTypedArray.prototype.byteOffsetTypedArray.prototype.length TypedArray
TypedArray.prototype.BYTES_PER_ELEMENT TypedArray
TypedArray TypedArray
TypedArray.prototype.at()TypedArray.prototype.copyWithin()TypedArray.prototype.entries()TypedArray.prototype.every()TypedArray.prototype.fill()TypedArray.prototype.filter()TypedArray.prototype.find() undefined Array.prototype.find()
TypedArray.prototype.findIndex()TypedArray.prototype.findLast() undefined Array.prototype.findLast()
TypedArray.prototype.findLastIndex()TypedArray.prototype.forEach()TypedArray.prototype.includes() true false Array.prototype.includes()
TypedArray.prototype.indexOf()TypedArray.prototype.join()TypedArray.prototype.keys()TypedArray.prototype.lastIndexOf()TypedArray.prototype.map()TypedArray.prototype.reduce()reducer Array.prototype.reduce()
TypedArray.prototype.reduceRight()reducer Array.prototype.reduceRight()
TypedArray.prototype.reverse()TypedArray.prototype.set()TypedArray.prototype.slice()TypedArray.prototype.some()TypedArray.prototype.sort()TypedArray.prototype.subarray() TypedArray
TypedArray.prototype.values()TypedArray.prototype.toLocaleString()TypedArray.prototype.toString()TypedArray.prototype[Symbol.iterator]()
// Setting and getting using standard array syntax
const int16 = new Int16Array(2);
int16[0] = 42;
console.log(int16[0]); // 42
// Indexed properties on prototypes are not consulted (Fx 25)
Int8Array.prototype[20] = "foo";
new Int8Array(32)[20]; // 0
// even when out of bound
Int8Array.prototype[20] = "foo";
new Int8Array(8)[20]; // undefined
// or with negative integers
Int8Array.prototype[-1] = "foo";
new Int8Array(8)[-1]; // undefined
// Named properties are allowed, though (Fx 30)
Int8Array.prototype.foo = "bar";
new Int8Array(32).foo; // "bar"
TypedArray ArrayBuffer TypedArray
const i8 = Int8Array.of(1, 2, 3);
Object.freeze(i8);
// TypeError: Cannot freeze array buffer views with elements
TypedArray ArrayBuffer byteOffset BYTES_PER_ELEMENT
const i32 = new Int32Array(new ArrayBuffer(4), 1);
// RangeError: start offset of Int32Array should be a multiple of 4
const i32 = new Int32Array(new ArrayBuffer(4), 0);
byteOffset ArrayBuffer TypedArray byteLength BYTES_PER_ELEMENT
const i32 = new Int32Array(new ArrayBuffer(3));
// RangeError: byte length of Int32Array should be a multiple of 4
const i32 = new Int32Array(new ArrayBuffer(4));
| ECMAScript 2027 LanguageSpecification # sec-typedarray-objects |
TypedArrayat()TypedArray.prototype.copyWithin()TypedArray.prototype.entries()TypedArray.prototype.every()TypedArray.prototype.fill()TypedArray.prototype.filter()TypedArray.prototype.find()TypedArray.prototype.findIndex()findLast()findLastIndex()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()set()slice()TypedArray.prototype.some()TypedArray.prototype.sort()TypedArray.prototype.subarray()TypedArray.prototype.toLocaleString()toReversed()TypedArray.prototype.toSorted()toString()TypedArray.prototype.values()TypedArray.prototype.with()TypedArray.prototype[Symbol.iterator]()Object/FunctionObject.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.toString()Object.prototype.valueOf()BigInt64ArrayBigUint64ArrayFloat16ArrayFloat32ArrayFloat64ArrayInt8ArrayInt16ArrayInt32ArrayUint8ArrayUint8ClampedArrayUint16ArrayUint32Array| Web Proxy Viewer | New URL | Original Page |