Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

คุณสมบัติ SharedArrayBuffer.byteLength ใน JavaScript

คุณสมบัติ byteLength ของ SharedArrayBuffer คืนค่า ขนาดในหน่วยไบต์ (unsigned 32-bit integer) ของบัฟเฟอร์ที่แบ่งปันได้

ไวยากรณ์

sharedArrayBuffer.byteLength

ตัวอย่าง

<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var sharedArrayBuffer = new SharedArrayBuffer(8); var result = sharedArrayBuffer.byteLength; document.write("ขนาดของ shared array buffer: " + result); </script> </body> </html>

ผลลัพธ์

ขนาดของ shared array buffer: 8

จุดสำคัญ:

  • SharedArrayBuffer ใช้สำหรับ shared memory ระหว่าง main thread และ Web Workers
  • ขนาดกำหนดตอนสร้างและ ไม่สามารถเปลี่ยนแปลงได้ (fixed size)
  • ต้องการ cross-origin isolation headers เพื่อใช้งานในเบราว์เซอร์สมัยใหม่
  • แตกต่างจาก ArrayBuffer ที่ไม่ได้แบ่งปัน

การใช้งานทั่วไป:

// สร้าง SharedArrayBuffer 1 KB
const sab = new SharedArrayBuffer(1024);
console.log(sab.byteLength); // 1024

// สร้าง TypedArray view
const int32 = new Int32Array(sab);
console.log(int32.byteLength); // 1024 (เท่ากับ buffer)

// ส่งให้ Worker
worker.postMessage(sab);

ความปลอดภัย:

เบราว์เซอร์สมัยใหม่ต้องการ HTTP headers:

Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp