คุณสมบัติ 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