⭐️ 실습 전 브라우저를 업데이트하세요!


1. 부작용을 제거한 메서드들

toSorted : 정렬된 결과를 반환

const array0 = [3, 1, 4, 5, 2];
array0.sort(); // 메서드 호출이 부작용을 유발

console.log(array0);
const array1 = [3, 1, 4, 5, 2];
const array2 = [...array1];

console.log(array1, array2);
const array1Sorted = array1.sort(); // 새 배열 반환이 아닌 레퍼런스 복사
const array2Sorted = array2.toSorted();

console.log(array1Sorted, array2Sorted);

array1Sorted.push(6);
array2Sorted.push(6);

console.log(array1Sorted, array2Sorted);
console.log(array1, array2);
// es14 전에는...
array3 = [3, 1, 4, 5, 2];
array3Sorted = [...array3].sort(); // 이제는 이렇게 할 필요 없음

console.log(array3, array3Sorted);
array4 = [3, 6, 1, 10, 4, 8, 7, 5, 9, 2];

// 역시 고차함수 - 콜백함수를 받음
array4Sorted = array4.toSorted((a, b) => a % 2 - b % 2);

console.log(array4, array4Sorted);