[React]선언형(declarative) 프로그래밍에 대하여
[React]선언형(declarative) 프로그래밍에 대하여
React를 들어가기 전에 선언형(declarative)
에 대하여 알아보도록 하자. declarative programming
에 대하여 설명하기 위해서는 imperative programming
이 빠질 수는 없다.
기본적으로 프로그래밍에 입문을 하였다면 다음 코드가 어떤 것인 지를 금방 파악 할 수 있다.
// Imperative (How)
var numbers = [4,2,3,6]
var total = 0
for (var i = 0; i < numbers.length; i++) {
total += numbers[i]
}
for
문을 이용하여 배열 안에 있는 숫자들을 다 더하는 걸 수행하게 되는데 결과값은 당연히 15
가 나온다는 것을 금방 알아챌 수 있다. 15
라는 값을 예상하기 위해서는 우리 뇌에서는 아마 다음과 같은 과정을 거칠 것이다.
total
이라는 변수가0
으로 선언이 되어 있고for
문을 지나면서numbers
의 0번째 원소를 더하고- 다시
for
에 의해numbers
의 1번쨰 원소를 더하고 - 반복반복 우걱우걱
- 다 더하면
15
가 될 것이다!
이렇게 생각한 것은 컴퓨터가 위에서부터 아래로 순차적으로 진행될 것이라 염두 해 두고 진행된 것이다. total
이라는 값을 구하기 위해서 단순히 알고리즘을 제공했을 뿐이다. 이런 방식이 바로 명령형(imperative)
프로그래밍이다.
그럼 오늘 알아볼 선언형(Declarative)
프로그래밍을 그대로 적용해보면 어떻게 될까?
// Declarative (What)
var numbers = [4,2,3,6]
numbers.reduce(function (previous, current) {
return previous + current
})
React.js
는 declarative
스타일이라 할 수 있다. “이건 이렇게 생겨야 해!" 하면서 flow나 state를 조절 하게 할 수 있다.