JavaScript의 values() 함수는 타입 배열(TypedArray)에 저장된 값들을 순회할 수 있는 이터레이터(iterator) 객체를 반환합니다. 반환된 이터레이터 객체는 next() 메서드를 제공하며, 이 메서드를 호출할 때마다 배열의 다음 요소를 순서대로 가져올 수 있습니다.
문법(Syntax)
values() 함수의 기본 문법은 다음과 같습니다.
typedArray.values()
동작 원리
values() 함수가 반환하는 이터레이터는 내부적으로 배열의 각 요소를 가리키는 포인터를 유지합니다. next() 메서드가 호출되면 현재 위치의 값을 { value: 값, done: 불리언 } 형태의 객체로 반환하고 포인터를 다음 요소로 이동시킵니다. 모든 요소를 순회한 후에는 done 속성이 true가 됩니다.
예제(Example)
다음 예제에서는 Int32Array로 생성한 타입 배열에 values() 함수를 적용하고, 반복문을 통해 next() 메서드로 각 요소를 출력합니다.
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var typedArray = new Int32Array([11, 5, 13, 4, 15, 3, 17, 2, 19, 8 ]);
var iterator = typedArray.values();
document.write("타입 배열의 내용: ");
for(i=0; i<typedArray.length; i++) {
document.writeln(iterator.next().value);
}
</script>
</body>
</html>실행 결과(Output)
위 코드를 실행하면 이터레이터를 통해 배열의 모든 요소가 순서대로 출력됩니다.
타입 배열의 내용: 11 5 13 4 15 3 17 2 19 8
참고 사항
values() 외에도 타입 배열은 keys()(인덱스 순회)와 entries()(키-값 쌍 순회) 메서드를 제공합니다. 또한 values()가 반환하는 이터레이터는 for...of 문과 함께 사용할 수 있어 더욱 간결하게 배열을 순회할 수 있습니다.