• arrayBuffer {ArrayBuffer|SharedArrayBuffer} 一个 [ArrayBuffer] 或 [SharedArrayBuffer],例如 [TypedArray] 的 .buffer 属性。
    • byteOffset {integer} 开始拷贝的索引。默认值: 0
    • length {integer} 拷贝的字节数。默认值: arrayBuffer.byteLength - byteOffset

    创建 [ArrayBuffer] 的视图,但不会拷贝底层内存。 例如,当传入 [TypedArray] 的 .buffer 属性的引用时,新建的 Buffer 会与 [TypedArray] 共享同一内存。

    1. const arr = new Uint16Array(2);
    2. arr[0] = 5000;
    3. arr[1] = 4000;
    4. // 与 `arr` 共享内存。
    5. const buf = Buffer.from(arr.buffer);
    6. console.log(buf);
    7. // 打印: <Buffer 88 13 a0 0f>
    8. // 改变原先的 Uint16Array 也会改变 Buffer。
    9. arr[1] = 6000;
    10. console.log(buf);
    11. // 打印: <Buffer 88 13 70 17>

    可选的 byteOffsetlength 参数指定 arrayBuffer 中与 Buffer 共享的内存范围。

    1. const ab = new ArrayBuffer(10);
    2. const buf = Buffer.from(ab, 0, 2);
    3. console.log(buf.length);
    4. // 打印: 2

    如果 arrayBuffer 不是一个 [ArrayBuffer]、[SharedArrayBuffer] 或适用于 Buffer.from() 变量的其他类型,则抛出 TypeError