JavaScript에서 BYTES_PER_ELEMENT는 타입 배열(Typed Array)의 정적 속성으로, 해당 배열의 각 요소가 차지하는 바이트 크기를 나타냅니다. 예를 들어, Float32Array의 각 요소는 4바이트를 사용하고, Int16Array의 각 요소는 2바이트를 사용합니다.
이 속성은 읽기 전용(read-only)이며, 인스턴스가 아닌 생성자 자체에서 접근해야 합니다. 메모리 사용량을 계산하거나 ArrayBuffer와 데이터를 주고받을 때 유용하게 활용됩니다.
문법(Syntax)
Float32Array.BYTES_PER_ELEMENT;
예제(Example)
다음 예제는 Float32Array와 Int16Array의 요소당 바이트 크기를 확인하는 방법을 보여줍니다.
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var sizeOfFloat32Array = Float32Array.BYTES_PER_ELEMENT;
document.write("Float32 배열의 요소 크기: " + sizeOfFloat32Array);
document.write("<br>");
var sizeOfInt16Array = Int16Array.BYTES_PER_ELEMENT;
document.write("Int16 배열의 요소 크기: " + sizeOfInt16Array);
</script>
</body>
</html>출력 결과(Output)
Float32 배열의 요소 크기: 4 Int16 배열의 요소 크기: 2
주요 타입 배열별 바이트 크기
참고로 각 타입 배열의 BYTES_PER_ELEMENT 값은 다음과 같습니다.
- Int8Array / Uint8Array / Uint8ClampedArray: 1바이트
- Int16Array / Uint16Array: 2바이트
- Int32Array / Uint32Array / Float32Array: 4바이트
- BigInt64Array / BigUint64Array / Float64Array: 8바이트
이처럼 BYTES_PER_ELEMENT 속성을 활용하면 타입 배열이 소비하는 메모리 양을 정확히 파악할 수 있어, 대용량 데이터 처리나 WebGL, WebAssembly 등 저수준 프로그래밍 작업 시 특히 유용합니다.