함수형 프로그래밍 패턴을 사용하는 것 자체가 어떤 대세처럼 여겨지고 있는 요즘, 그냥 대세니까 쓴다기 보다는, 이 패턴이 환영받는 분명한 이유를 알아야 한다.
그런데 먼저 함수형 프로그래밍을 이해하기 위해서는 선언형 코드와 명령형 코드에 대한 이해가 필요하다(고한다^^..)
선언형 코드 예시)
function sapceToHeart(text) {
return text.replaceAll(" ", "♥")
}
명령형 코드 예시)
function sapceToHeart(text) {
let result = "";
for(let i = 0 ; i < text.length ; i++) {
if(text[i] === " ") {
result += "♥"
} else {
result += text[i]
}
}
return result
}
1) 선언형 코드가 비교적 더 보기에 깔끔하고 직관적으로 이해가 가능함
2) 단, 선언형 코드의 경우 중간의 과정이 생략되어 있기 때문에, 어떤 함수가 어떤 기능을 하는지 알고 있어야 함
3) 결과에 이르는 과정을 보고자 한다면 명령형 코드가 더 선호될 수 있음
4) 가독성과 직관성에 중점을 두고자 한다면 선언형코드가 더 선호될 수 있음