ไม่มี Boolean Typed Array ใน JavaScript
JavaScript รองรับ Typed Arrays เฉพาะสำหรับตัวเลข:
Int8Array– 8-bit signed integer (-128 to 127)Uint8Array– 8-bit unsigned integer (0 to 255)Uint8ClampedArray– 8-bit unsigned clamped (0-255, clamp on overflow)Int16Array– 16-bit signed integerUint16Array– 16-bit unsigned integerInt32Array– 32-bit signed integerUint32Array– 32-bit unsigned integer
Float32ArrayFloat64ArrayTyped arrays ทั้งหมดเป็น integer หรือ float ขนาดต่างๆ ไม่มี boolean
ทางเลือกสำหรับ Boolean Array
| วิธี | คำอธิบาย | Memory |
|---|---|---|
| Normal Array | [true, false, true] | สูง (object per element) |
| Uint8Array | new Uint8Array([1,0,1]) (0=false, 1=true) | ต่ำมาก (1 byte/element) |
| BitArray (custom) | เก็บใน bits ของ integer | ต่ำสุด (1 bit/element) |
| BigInt | ใช้ bitwise operations | ต่ำ (arbitrary precision) |
ตัวอย่าง Uint8Array เป็น Boolean
var flags = new Uint8Array(100); // 100 bytes, ทั้งหมด 0 (false) flags[0] = 1; // true flags[50] = 1; // true // นับ true var count = flags.reduce((sum, v) => sum + v, 0); // Toggle flags[10] ^= 1; // 0→1, 1→0