We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ArrayBuffer
TypedArray 对象提供基础二进制数据 缓冲区 的类似数组的视图。TypedArray 实例的每个元素都具有相同的基础二进制标量数据类型。下表列出了每种支持的元素类型的不同 TypedArray 构造函数。表中的每个构造函数都有一个对应的不同原型对象。
TypedArray
super
this
undefined
false
true
访问器属性,其 set 访问器为 undefined。
该函数的 "name" 属性值为 "get [Symbol.species]"
和 重学js —— 索引集合之Array原型对象属性 对比,可以看出不支持以下数组方法:
还有其他特有的属性,不具体列出来
需要结合 ArrayBuffer 来看,下面打印的对象属性值,以 [[Int8Array]] 为例,可能表示 每个数组元素代表 8 位即 1 字节,所以 16字节需要16个数组元素空间;而 [[Int32Array]] 可能表示 每个数组元素代表 32位即 4 字节,所以只需要 4 个数组元素空间。
[[Int8Array]]
[[Int32Array]]
const buffer = new ArrayBuffer(16); // ArrayBuffer(16) {} { [[Int8Array]]: Int8Array(16) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [[Int16Array]]: Int16Array(8) [0, 0, 0, 0, 0, 0, 0, 0], [[Int32Array]]: Int32Array(4) [0, 0, 0, 0], [[Uint8Array]]: Uint8Array(16) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], byteLength: 16 }
The text was updated successfully, but these errors were encountered:
No branches or pull requests
TypedArray 对象(类型化数组)
ArrayBuffer
等对象联合使用,但是规范把它们分成两大章节来讲,关键还在中间夹着另一个不相关的 键控集合 章节。TypedArray
对象提供基础二进制数据 缓冲区 的类似数组的视图。TypedArray
实例的每个元素都具有相同的基础二进制标量数据类型。下表列出了每种支持的元素类型的不同TypedArray
构造函数。表中的每个构造函数都有一个对应的不同原型对象。%Int8Array%
%Uint8Array%
%Uint8ClampedArray%
%Int16Array%
%Uint16Array%
%Int32Array%
%Uint32Array%
%BigInt64Array%
%BigUint64Array%
%Float32Array%
%Float64Array%
%TypedArray% 固有对象
super
调用。%TypedArray% ( )
%TypedArray% 固有对象属性
%TypedArray%.from ( source [ , mapfn [ , thisArg ] ] )
this
值undefined
,定义 mapping 为false
true
undefined
,true
true
,%TypedArray%.of ( ...items )
this
值get %TypedArray% [ @@species ]
访问器属性,其 set 访问器为
undefined
。this
值该函数的 "name" 属性值为 "get [Symbol.species]"
%TypedArray.prototype% 对象上的属性(附上不支持的数组方法)
和 重学js —— 索引集合之Array原型对象属性 对比,可以看出不支持以下数组方法:
特有的属性
get %TypedArray%.prototype.buffer
this
值get %TypedArray%.prototype.byteLength
this
值true
,返回 0还有其他特有的属性,不具体列出来
示例,来自MDN
需要结合 ArrayBuffer 来看,下面打印的对象属性值,以
[[Int8Array]]
为例,可能表示 每个数组元素代表 8 位即 1 字节,所以 16字节需要16个数组元素空间;而[[Int32Array]]
可能表示 每个数组元素代表 32位即 4 字节,所以只需要 4 个数组元素空间。The text was updated successfully, but these errors were encountered: