Javascript의 함수형 프로그래밍 - 명령형 및 선언형
1856 단어 reactfunctionaljavascript
이제 선언적(Declarative)에 대해 이야기하면, 애플리케이션이 어떻게 발생해야 하는지 정의하는 것보다 발생해야 할 일을 설명하는 데 우선순위를 두는 방식으로 구조화될 때입니다.
여기에서 명령형 및 선언적 예를 비교하면 더 쉬울 것입니다.
var string = "hi there , I'm a web developer";
var removeSpace = "";
for (var i = 0; i < i.string.length; i++) {
if (string[i] === " ") removeSpace += "-";
else removeSpace += string[i];
}
console.log(removeSpace);
이 예에서는 문자열의 모든 문자를 반복하여 공백이 발생할 때마다 교체합니다. 코드만 보면 별 의미가 없습니다. 명령은 코드를 이해하기 위해 많은 주석이 필요합니다. 선언적 프로그램에서 구문 자체는 어떤 일이 일어나야 하는지를 설명하고 일이 어떻게 일어나는지에 대한 세부 사항은 추상적인 방식으로 설명됩니다.
const string = "Hi there, I'm a web developer ";
const removeSpaces = string.replace(//g,"-");
console.log(removeSpaces);
이것이 더 읽기 쉽고 추론하기 쉬워 보이지 않습니까?
이제 문서 객체 모델 또는 DOM을 구축하는 작업을 살펴보겠습니다. 명령형 접근 방식은 DOM이 구성되는 방식과 관련이 있습니다.
var headline = document.createElement('h1');
headline.innerText = "Hello World";
DOM이 명령적으로 구성된 곳에서 변경하거나 기능을 추가하거나 10,000줄의 코드를 확장하는 것은 매우 어려울 것입니다.
이제 React 구성 요소를 사용하여 선언적으로 DOM을 구성하는 방법을 살펴보겠습니다.
const { render } = ReactDOM
const Welcome = () => (
<div id="App">
//your HTML code
//your react components
</div>
)
render(
<App />,
document.getElementById('home')
)
React는 선언적입니다. 여기에서 Welcome 구성 요소는 렌더링되어야 하는 DOM을 설명합니다. 그만큼
render 함수는 컴포넌트에 선언된 명령어를 사용하여 DOM을 구축하고 추상화합니다.
DOM이 렌더링되는 방법에 대한 세부 정보입니다. 우리는 우리가 우리의
'target'의 ID를 가진 요소에 구성 요소를 환영합니다.
Reference
이 문제에 관하여(Javascript의 함수형 프로그래밍 - 명령형 및 선언형), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pramila_15/functional-programming-in-javascript-imperative-vs-declarative-45f3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)