[TIL] DAY17 명령형 vs 선언형

흠냐뤼·2021년 8월 24일
0

데브코스

목록 보기
5/5

명령형(=절차형) VS 선언형(=함수형)

UI를 만들 때 명령형보다 선언형으로 해야하는 이유

  • 명령형 : "어떻게 구현하는가"에 집중(=어떤 방법으로)
  • 선언형 : "무엇을 나타내야하느냐"

대표적인 선언형 프로그래밍 방식 : HTML, SQL

  • HTML( : 어떤 방법으로가 아닌 컴퓨터 화면에 제목, 글꼴, 그림같이 무엇이 나타나야하는지를 묘사함), SQL

✅간단한 비교 예시

: 배열을 받아서 원소를 각각 2배로 만들어 리턴하는 함수

명령형

function double(arr) {
    let results = [];
    for (let i = 0; i < arr.length; i++) {
        if (typeof arr[i] === 'number') {
            results.push(arr[i] * 2);
        }
    }
    return results;
}
  • 어떻게 가공할 것인지 하나씩 일일이 처리
  • 어떻게 처리하는지에 대한 묘사

🔴 인자가 숫자인지 확인하는 if문( 후에 유지보수나 확장이 어려울 수 있다) (선언형과 비교)


선언형

function double(arr) {
    return arr.filter(param => typeof param === 'number')
                .map(number => number * 2);
}
  • 어떠한 과정을 거쳐서 만드는지
  • 무엇을 원하는지에 대한 묘사

🔴반면 선언형은 filter로 인자의 type을 쉽게 확인

📌 결론

선언형은 코드를 딱 봤을 때 어떤 코드인지 간단하고 명료하게 알 수 있다. 반면, 명령형은 코드가 더 복잡해지거나 많아지면, 버그가 만들어질 확률이 크다.

profile
https://github.com/ono212

0개의 댓글