본문으로 건너뛰기

아이템17

아이템17 변경 관련된 오류 방지를 위해 readonly 사용하기

  • 매개변수로 받은 배열의 합을 구하는 함수 arraySum
function arraySum(arr: number[]) {
let sum = 0,
num;
while ((num = arr.pop()) !== undefined) {
sum += num;
}
return sum;
}
  • arraySum이 매개변수인 배열이(참조로 인한 전달) 모두 비어 문제가 발생한다.
  • 이를 방지하기 위해 접근 제어자인 readonly를 사용한다.
  • 다만 위에 readonly를 붙이면 에러가 발생한다.
  • 이를 위해 for of로 변경해주면 해결이 가능하다 .