[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/TypedArray [Back]  [Original]

TypedArray - JavaScript | MDN

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

TypedArray

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since 2015 7.

TypedArray . TypedArray , TypedArray . . .

In this article

// 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 [[Prototype]] . %TypedArray% TypedArray . Object.getPrototypeOf(Int8Array) . TypedArrays %TypedArray% , (TypedArray.prototype) %TypedArray%.prototype [[Prototype]] .

TypedArray(: Int8Array) ArrayBuffer . %TypedArray%.prototype (: ) .

TypedArray

Web IDL C
Int8Array -128 to 127 1 8 2 byte int8_t
Uint8Array 0 to 255 1 8 octet uint8_t
Uint8ClampedArray 0 to 255 1 8 () octet uint8_t
Int16Array -32768 to 32767 2 16 2 short int16_t
Uint16Array 0 to 65535 2 16 unsigned short uint16_t
Int32Array -2147483648 to 2147483647 4 32 2 long int32_t
Uint32Array 0 to 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 2 bigint int64_t (signed long long)
BigUint64Array 0 264 - 1 8 64 bigint uint64_t (unsigned long long)

. Int8Array BigInt64Array . .

js
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 new . new TypeError .

length

length , length BYTES_PER_ELEMENT 0 .

typedArray

typedArray , typedArray . non-bigint TypedArray , typedArray non-bigint (: Int32Array) . bigint TypedArray , typedArray bigint (: BigInt64Array) . typedArray . typedArray .

object

object , TypedArray.from() .

buffer, byteOffset, length

buffer byteOffset length , ArrayBuffer . byteOffset length . , length buffer .

TypeArray . .

TypeError

.

  • typedArray , bigint .
  • typeArray , buffer .
RangeError

.

  • .
  • buffer (length ) byteOffset .
  • byteOffset (0 253 - 1 ) .
  • . , byteOffset + length * TypedArray.BYTES_PER_ELEMENT > buffer.byteLength.

TypedArray.BYTES_PER_ELEMENT

TypedArray .

TypedArray.name

(: "Int8Array").

get TypedArray[@@species]

.

TypedArray

TypedArray .

TypedArray.from()

TypedArray . Array.from() .

TypedArray.of()

TypedArray . Array.of() .

TypedArray.prototype.buffer

ArrayBuffer . .

TypedArray.prototype.byteLength

() . .

TypedArray.prototype.byteOffset

ArrayBuffer () . .

TypedArray.prototype.length

. .

TypedArray.prototype.at()

. .

TypedArray.prototype.copyWithin()

. Array.prototype.copyWithin() .

TypedArray.prototype.entries()

/ . Array.prototype.entries() .

TypedArray.prototype.every()

. Array.prototype.every() .

TypedArray.prototype.fill()

. Array.prototype.fill() .

TypedArray.prototype.filter()

true . Array.prototype.filter() .

TypedArray.prototype.find()

element , undefined . Array.prototype.find() .

TypedArray.prototype.findIndex()

, -1 . Array.prototype.findIndex() .

TypedArray.prototype.findLast()

, undefined . Array.prototype.findLast() .

TypedArray.prototype.findLastIndex()

, -1 . Array.prototype.findLastIndex() ..

TypedArray.prototype.forEach()

. Array.prototype.forEach() .

TypedArray.prototype.includes()

true false Array.prototype.includes() .

TypedArray.prototype.indexOf()

() , -1 . Array.prototype.indexOf() .

TypedArray.prototype.join()

. Array.prototype.join() .

TypedArray.prototype.keys()

. Array.prototype.keys() .

TypedArray.prototype.lastIndexOf()

( ) , -1 . Array.prototype.lastIndexOf() ..

TypedArray.prototype.map()

. Array.prototype.map() .

TypedArray.prototype.reduce()

( ) . Array.prototype.reduce() .

TypedArray.prototype.reduceRight()

( ) . Array.prototype.reduceRight() .

TypedArray.prototype.reverse()

. . Array.prototype.reverse() .

TypedArray.prototype.set()

.

TypedArray.prototype.slice()

. Array.prototype.slice() .

TypedArray.prototype.some()

, true . Array.prototype.some() .

TypedArray.prototype.sort()

. Array.prototype.sort() .

TypedArray.prototype.subarray()

TypedArray .

TypedArray.prototype.values()

.Array.prototype.values() .

TypedArray.prototype.toLocaleString()

. Array.prototype.toLocaleString() .

TypedArray.prototype.toString()

. Array.prototype.toString() .

TypedArray.prototype[@@iterator]()

.

(, ) . . ArrayBuffer . .

js
//       
const int16 = new Int16Array(2);
int16[0] = 42;
console.log(int16[0]); // 42

//      (Fx 25)
Int8Array.prototype[20] = "foo";
new Int8Array(32)[20]; // 0
//  
Int8Array.prototype[20] = "foo";
new Int8Array(8)[20]; // undefined
//   
Int8Array.prototype[-1] = "foo";
new Int8Array(8)[-1]; // undefined

//      (Fx 30)
Int8Array.prototype.foo = "bar";
new Int8Array(32).foo; // "bar"

TypedArray . ArrayBuffer TypedArray . .

js
const i8 = Int8Array.of(1, 2, 3);
Object.freeze(i8);
// TypeError: Cannot freeze array buffer views with elements

ByteOffset

TypedArray ArrayBuffer byteOffset . , BYTES_PER_ELEMENT .

js
const i32 = new Int32Array(new ArrayBuffer(4), 1);
// RangeError: start offset of Int32Array should be a multiple of 4
js
const i32 = new Int32Array(new ArrayBuffer(4), 0);

ByteLength

byteOffset TypedArray ArrayBuffer byteLength BYTES_PER_ELEMENT .

js
const i32 = new Int32Array(new ArrayBuffer(3));
// RangeError: byte length of Int32Array should be a multiple of 4
js
const i32 = new Int32Array(new ArrayBuffer(4));

Specification
ECMAScript 2027 LanguageSpecification
# sec-typedarray-objects


Web Proxy Viewer  |  New URL  |  Original Page