SharedArrayBuffer의 byteLength 속성은 해당 공유 배열 버퍼(SharedArrayBuffer)의 크기, 즉 전체 바이트 길이를 나타내는 부호 없는 32비트 정수(unsigned 32-bit integer)를 반환합니다.
SharedArrayBuffer는 여러 스레드나 웹 워커(Worker) 간에 메모리를 공유할 수 있도록 지원하는 객체로, 실제로 할당된 바이트 크기를 확인할 때 byteLength 속성을 활용합니다.
문법(Syntax)
사용 문법은 다음과 같습니다.
sharedArrayBuffer.byteLength
이 속성은 매개변수를 받지 않으며, 객체 생성 시 지정된 바이트 크기를 그대로 반환합니다.
예제 코드(Example)
아래 예제는 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("length of the shared array buffer is: " + result);
</script>
</body>
</html>위 코드에서는 new SharedArrayBuffer(8)을 통해 8바이트 크기의 공유 배열 버퍼를 생성했습니다. 이후 byteLength 속성을 읽어 그 값을 화면에 출력합니다.
실행 결과(Output)
length of the shared array buffer is: 8
생성 시 지정한 크기인 8이 그대로 반환되는 것을 확인할 수 있습니다.
참고 사항
byteLength 속성은 읽기 전용(read-only)이므로 값을 직접 변경할 수 없습니다. 또한 일반 ArrayBuffer에도 동일한 이름의 속성이 존재하며, 동작 방식도 같습니다. 다만 SharedArrayBuffer는 스레드 간 데이터 공유가 가능하다는 점이 가장 큰 차이입니다.