본문 바로가기
React(리액트)

명령형 프로그래밍 VS 선언적 프로그래밍

by 프린벼르 2022. 7. 5.
명령형 프로그래밍은 당신이 어떤 일을 어떻게 할 것인가에 관한 것이고,
선언적 프로그래밍은 당신이 무엇을 할 것인가에 관한 것.

즉, 명령형 프로그래밍은 단계별 지침을 제공하는 데 반해, 선언적 프로그래밍은 필요 단계를 고려 않고 하는 것이다.


[예시] 레스토랑

오늘 회사에서 퇴근 후, 남자친구와 함께 레스토랑에서 스테이크를 먹기로했다. 가기로 약속했던, HEUM 레스토랑에 도착한 후, 레스토랑 직원에게 말을 걸었다. 어떤 방식으로 ?

  • 명령형 방식 (HOW) : "구석진 곳 5번 테이블 자리가 비어있군요. 우리는 저기로 걸어가서 앉을게요."
  • 선언형 방식 (WHAT) : "우리가 함께할 로맨틱한 자리를(공간을) 부탁해요."

명령형 방식은 내가 실제로 자리에 "어떻게" 자리에 앉을지 에 관심이 있다. 따라서 "어떻게" 자리에 앉을지에 대한 단계를 하나하나 나열해야 한다. 그와 반대로 선언형 방식은 내가 "무엇을" 원하는지에 더 집중되어 있다.


//명령형 예시(반복문, 조건문)
const arr = [1,2,3,4,5];
const result = [];

for(let i = 0; i < arr.length; i++){
	// 짝수일때만
	if(arr[i]%2 === 0){
    	result.push(arr[i]);
    }
}
console.log(result);
// [2,4]

//선언형 예시
const arr = [3,6,9,12,15];

console.log(arr.filter(num => num%2 === 0)).map(item => item/3));
// [2,4]

[WHY] 선언형으로 UI를 설계해야 하는 이유

  • UI 코드에 기능을 추가하거나 로직을 변경할 때 번거로움오류줄이기 위함
  • 의존성을 줄여 선언한 UI 인자에만 내부 로직이 반응하게 하여 side-effect줄이기 위함
  • 기능확장모듈화쉽게하기 위함

QUIZ . React는 명령형일까요, 선언형일까요?

더보기

정답 : 선언형 프로그래밍 !!

댓글