문제 상황
일기 목록의 정렬 기능을 구현하면서 Array.prototype.sort대신 Array.prototype.toSorted를 사용하려고 했는데, 타입스크립트가 이 메서드를 인식하지 못하는 문제가 발생했다.
sort vs toSorted
sort: 배열을 정렬하고 원본 배열을 변경toSorted: 배열을 정렬하되 원본을 변경하지 않고 새 배열 반환
불변성을 유지하기 위해 toSorted를 사용하려 했지만, 타입스크립트에서 타입 오류가 발생했다.
원인 분석
tsconfig.json의 EXMAScript 버전 설정을 확인해보니, ES2020으로 설정되어 있었다.
{
"compilerOptions": {
"target": "ES2020",
"module": "ES2020",
// ...
}
}
ES2023에서 도입된 toSorted메서드를 타입스크립트가 인식하지 못한 이유는 컴파일 타겟이 구 버전으로 설정되어 있었기 때문이다.
해결 방안
tsconfig.json의 target과 module을 ESNext로 변경하여 최신 ECMAScript 기능을 사용할 수 있도록 설정했다.
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
// ...
}
}
변경 후 toSorted메서드를 정상적으로 사용할 수 있게 되었다.
'Dev Log' 카테고리의 다른 글
| [AI 감성 일기장] New 페이지 일기 작성 기능 구현 (0) | 2025.11.07 |
|---|---|
| [AI 감성 일기장] Home 페이지 날짜 관리 및 정렬 기능 구현 (0) | 2025.11.07 |
| [AI 감성 일기장] TypeScript로 재사용 가능한 공용 컴포넌트 구현 (0) | 2025.11.06 |
| [AI 감성 일기장] Vite와 TypeScript에서 절대 경로 인식 오류 해결 (0) | 2025.11.06 |
| [AI 감성 일기장] 리액트 프로젝트 마이그레이션 계획 (0) | 2025.11.06 |
