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

JavaScript의 DataView.setInt8() 함수 – 문법과 예제 완벽 정리

DataView 객체의 setInt8() 함수는 지정된 바이트 오프셋(byte offset) 위치에 부호 있는 8비트 정수(signed 8-bit integer)를 저장하는 메서드입니다.

문법

기본 문법은 다음과 같습니다.

dataView.setInt8(byteOffset, value);
  • byteOffset: 값을 저장할 ArrayBuffer 내의 위치(바이트 단위)
  • value: 저장할 정수 값 (유효 범위: -128 ~ 127)

예제 1: 기본 사용법

다음 예제는 ArrayBuffer를 생성한 후 setInt8()로 값을 저장하고, getInt8()로 다시 읽어오는 기본적인 사용 방법을 보여줍니다.

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

출력 결과

106

8비트 정수는 -128부터 127까지만 표현할 수 있습니다. 따라서 362를 저장하면 하위 8비트만 잘려서 저장되고, 결과적으로 106이 출력됩니다.

예제 2: 소수 값 전달하기

setInt8()에는 소수(float) 값을 직접 전달할 수 없습니다. 소수 값을 전달하더라도 자동으로 정수로 변환되어 처리됩니다.

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

출력 결과

106

362.23은 정수 362로 취급되며, 첫 번째 예제와 동일하게 106이 저장됩니다.

예제 3: 값 없이 호출하기

DataView에 아무 값도 저장하지 않은 상태에서 데이터를 읽으려고 하면 이 함수는 0을 반환합니다. 즉, 저장할 값을 지정하지 않고 setInt8()을 호출하면 해당 위치에 0이 저장됩니다.

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

출력 결과

0