DataView 객체의 byteOffset 속성은 해당 DataView가 참조하는 ArrayBuffer 내에서의 시작 위치를 바이트 단위로 반환합니다. 전체 버퍼가 아닌 버퍼의 일부 구간만 다루도록 DataView를 생성했을 때, 그 시작 지점이 몇 번째 바이트인지 확인할 수 있는 유용한 속성입니다.
문법(Syntax)
기본 사용 문법은 다음과 같습니다.
dataView.byteOffset;
byteOffset는 함수가 아닌 접근자(accessor) 속성이므로 괄호 없이 그대로 참조하면 됩니다.
예제(Example)
다음 예제에서는 크기가 114바이트인 ArrayBuffer를 만들고, 10번째 바이트부터 시작하는 DataView를 생성하여 byteOffset 값을 확인합니다.
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var arrayBuffer = new ArrayBuffer(114);
// 버퍼의 10번째 바이트부터 시작하는 DataView 생성
var dataView = new DataView(arrayBuffer, 10);
document.write("버퍼 전체 크기: " + dataView.buffer.byteLength + "<br>");
document.write("DataView의 오프셋: " + dataView.byteOffset);
</script>
</body>
</html>출력(Output)
버퍼 전체 크기: 114 DataView의 오프셋: 10
참고 사항
DataView를 생성할 때 두 번째 인수로 오프셋을 지정하지 않으면 기본값은 0이며, 이 경우 byteOffset은 0을 반환합니다. 또한 세 번째 인수로 길이(length)를 함께 지정하면 버퍼의 특정 구간만 독립적으로 다룰 수 있어, 대용량 이진 데이터를 효율적으로 처리할 때 활용됩니다.