Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript DataView.setUint16() 함수 완벽 가이드

DataView.setUint16() 함수란?

setUint16() 메서드는 DataView 객체에서 지정된 바이트 오프셋 위치에 부호 없는 16비트 정수(unsigned 16-bit integer)를 저장하는 기능을 수행합니다. 이진 데이터를 다룰 때 특정 위치에 정확한 크기의 숫자 값을 쓸 수 있도록 도와주는 유용한 메서드입니다.

문법(Syntax)

setUint16()의 기본 문법은 다음과 같습니다.

dataView.setUint16(byteOffset, value, littleEndian);
  • byteOffset: 값을 저장할 버퍼 내 위치(바이트 단위)
  • value: 저장할 부호 없는 16비트 정수 값
  • littleEndian (선택 사항): 리틀 엔디안(little-endian) 방식으로 저장할지 여부를 나타내는 불리언 값입니다. 생략하면 기본값인 빅 엔디안(big-endian) 방식으로 저장됩니다.

예제 1: 기본 사용법

다음 예제는 ArrayBuffer를 생성하고, setUint16()으로 값을 저장한 후 getUint16()으로 읽어오는 과정을 보여줍니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var arrayBuffer = new ArrayBuffer(20);
      var dataView = new DataView(arrayBuffer);
      dataView.setUint16(1, 45544);
      document.write(dataView.getUint16(1));
   </script>
</body>
</html>

출력 결과

45544

예제 2: 소수점 값 처리

이 함수에는 소수(float) 값을 전달할 수 없습니다. 만약 소수 값을 인자로 넘기면 자동으로 정수로 변환되어 저장됩니다. 아래 예제에서 455.44를 전달했지만, 실제로는 455가 저장되는 것을 확인할 수 있습니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var arrayBuffer = new ArrayBuffer(20);
      var dataView = new DataView(arrayBuffer);
      dataView.setUint16(1, 455.44);
      document.write(dataView.getUint16(1));
   </script>
</body>
</html>

출력 결과

455

예제 3: 값이 없을 경우

DataView에 아무 값도 저장하지 않은 상태에서 데이터를 읽으려고 하면 이 함수는 0을 반환합니다. 즉, 값이 설정되지 않은 영역은 기본적으로 0으로 초기화되어 있다고 볼 수 있습니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var arrayBuffer = new ArrayBuffer(20);
      var dataView = new DataView(arrayBuffer);
      dataView.setUint16(1);
      document.write(dataView.getUint16(1));
   </script>
</body>
</html>

출력 결과

0