range(from, to) 함수는 from 에서 to -1 까지 수를 담은 배열을 반환하는 함수다.
일반적으로 작성하면 아래와 같다.
const range = (from: number, to: number): number[] => {
if (from < to) {
return [from, ...range(from + 1, to)];
}
return [];
};
let numbers = range(1, 10);
console.log(numbers);
전개 연산자를 사용해서 아름답게 바꾸면 아래와 같이 작성가능하다.
익숙치 않은 사람에겐 가독성이 좋지 않지만, 너무 아름답고 깔끔하게 작성가능하다.
const range = (from: number, to: number): number[] =>
from < to ? [from, ...range(from + 1, to)] : [];
let numbers = range(1, 10);
console.log(numbers);