JavaScript - 문제 미리보기

문제 692

hard
다음 중 Typed Array에서 사용할 수 없는 메서드들과 그 이유로 올바른 것은? ```javascript const myArr = new Int32Array(5); // 다음 중 어떤 메서드들이 사용 불가능한가? // A: myArr.push(10); // B: myArr.fill(100); // C: myArr.splice(1, 2); // D: myArr.find(x => x > 50); ```
A. A, C만 불가능 - 고정 길이 특성 때문
B. A, B, C 모두 불가능 - Typed Array 전용 메서드만 사용 가능
C. A, C, D 불가능 - 숫자 타입만 지원하기 때문
D. 모두 사용 가능 - 표준 배열과 동일한 메서드 지원

정답: A

Typed Array는 고정 길이(fixed-length) 특성을 가지므로, 배열의 크기를 변경하는 메서드들은 사용할 수 없습니다: 1. 사용 불가능한 메서드들: 1) `push()`, `pop()`: 배열 끝에 요소 추가/제거 2) `shift()`, `unshift()`: 배열 앞에 요소 추가/제거 3) `splice()`: 요소 삭제/삽입으로 배열 크기 변경 4) `concat()`: 새로운 배열 생성 (크기 변경) 2. 사용 가능한 메서드들: 1) `fill()`: 기존 요소 값만 변경 2) `find()`, `some()`, `filter()`: 검색/필터링 (크기 변경 없음) 3) `forEach()`, `map()`: 순회/변환 4) `slice()`: 새 배열 생성하지만 원본 크기 유지 이는 Typed Array가 메모리 효율성과 성능을 위해 고정된 메모리 구조를 사용하기 때문입니다.

💡 학습 팁

이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.