배열은 선언형 프로그래밍을 구현할 때 절대적으로 필요한 문법 기능입니다.
프로그램의 기본 형태는 입력데이터를 얻고 가공한 다음, 결과를 출력하는 형태로 구성됩니다.
1. 입력 데이터 얻기
2. 입력 데이터 가공해 출력 데이터 생성
3. 출력 데이터 출력
명령형 프로그래밍에서는 여러 개의 데이터를 대상으로 할 때 다음처럼 for 문을 사용해서 구현합니다.
for( ; ; ){
입력 데이터 얻기
입력 데이터 가공해 출력 데이터 생성
출력 데이터 출력
}
반면에 선언형 프로그래밍은 명령형 프로그래밍처럼 for문을 사용하지 않고 모든 데이터를 배열에 담습니다. 그리고 문제가 해결될 때까지 끊임없이 또 다른형태의 배열로 가공하는 방식으로 구현합니다.
1. 문제를 푸는데 필요한 모든 데이터 배열에 저장
2. 입력 데이터 배열을 가공해 출력 데이터 배열 생성
3. 출력 데이터 배열에 담긴 아이템 출력
명령형 프로그래밍 방식
let sum = 0
for(let val = 1; val <= 100;){
sum += val++
}
console.log(sum) //5050
선언형 프로그래밍 방식
range.ts
export const range = (from: number, to:number):number[] => {
return from < to ? [from, ...range(from + 1, to)]: []
}
100sum.ts
fold.ts
index.ts
명령형 방식