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

JavaScript ArrayBuffer.isView() 함수란? 문법과 예제 총정리

JavaScript의 ArrayBuffer 객체는 고정 길이의 바이너리(이진) 데이터 버퍼를 표현하는 객체입니다. 이 객체가 제공하는 isView() 함수는 인수로 전달된 값이 ArrayBuffer의 뷰(view), 즉 DataView 또는 타입 배열(Typed Array)에 해당하는지 검사합니다. 조건을 만족하면 true를, 그렇지 않으면 false를 반환합니다.

isView()는 인스턴스 메서드가 아닌 정적(static) 메서드이므로, 반드시 ArrayBuffer.isView() 형태로 호출해야 합니다.

문법

arrayBuffer.isView(arg)
  • arg: ArrayBuffer의 뷰인지 확인할 값입니다.
  • 반환값: 인수가 DataView 또는 타입 배열이면 true, 그 외에는 false

예제 1: 타입 배열 확인하기

다음 예제에서는 Int32Array 객체를 isView() 함수에 전달해 결과를 확인합니다.

<html>
<head>
  <title>JavaScript Example</title>
</head>
<body>
  <script type="text/javascript">
    var arrayBuffer = new ArrayBuffer(5);
    var bool = ArrayBuffer.isView(new Int32Array());
    document.write(bool);
  </script>
</body>
</html>

출력 결과

true

Int32Array는 ArrayBuffer의 뷰에 해당하므로 true가 출력됩니다.

예제 2: 뷰가 아닌 값 전달하기

반대로 타입 배열이 아닌 일반 객체, null, undefined를 전달하거나 인수 없이 호출하면 모두 false를 반환합니다.

<html>
<head>
  <title>JavaScript Example</title>
</head>
<body>
  <script>
    console.log(ArrayBuffer.isView(new Int32Array())); // true
    console.log(ArrayBuffer.isView());                 // false
    console.log(ArrayBuffer.isView(null));             // false
    console.log(ArrayBuffer.isView(undefined));        // false
  </script>
</body>
</html>

출력 결과

true
false
false
false

정리

ArrayBuffer.isView()는 전달된 값이 DataView타입 배열(Int8Array, Uint8Array, Int32Array 등)처럼 ArrayBuffer를 참조하는 뷰 객체인지 판별할 때 유용합니다. 바이너리 데이터를 다루는 코드에서 인수의 타입을 검증하는 용도로 활용해 보세요.