일상의 예시

나는 스타벅스에 가야한다

수동 스틱과 오토 스틱 자동차

선언형 방식만으로는 동작이 되지는 않는다

개발의 예시

// 배열을 파라미터로 받고 각 요소들의 값에 2를 곱하는 함수 
// 명령형
function double (arr) { 
    let results = [];
    for (let i = 0; i < arr.length; i++){
        results.push(arr[i] * 2);
    }
    return results;
}

// 선언형
function double (arr) {
    return arr.map((item) => item * 2)
}
// 명령형인 제이쿼리 문법
$("#btn").click(function() {
     $(this).toggleClass("highlight") 
    $(this).text() === 'Add Highlight' ?
     $(this).text('Remove Highlight') : $(this).text('Add Highlight') 
})

// 선언형인 리액트 JSX문법
<Btn 
onToggleHighlight={this.handleToggleHighlight}
highlight={this.state.highlight}> 
    {this.state.buttonText}
</Btn>

선언형의 장점