이뮨01 2023. 7. 4. 17:27

첫줄


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /* 
        [프로그래밍 패러다임]
        - 패러다임 : 한 시대의 사람들이 견해나 사고를 근본적으로 규정하고 있는 인식의 체계
        - 프로그래밍에도 패러다임이 존재한다.
        - 메모리, 발전하는 IT기술, 하드웨어 기술의 발전 등 수많은 변수들로 인해
          기존의 프로그래밍 방식으로는 처리할 수 없는 현상들이 생겨나게 됨
        - 프로그래밍에도 패러다임이 존재하고, 위와 같은 변수들로 인해 패러다임이 변하게 됨
        - 특히 React.js는 함수형 프로그래밍을 권장하고있음
        - 절차지향이 틀린 프로그래밍이 아님 규모가 작은 코드에서는 절차지향이 가장 효과적일 수 있음

        [함수형 프로그래밍(Functional Programing)]
        - 부수효과가 없는 순수함수를 1급객체로 간주하여 파라미터나 반환값으로 사용할 수 있고
          참조 투명성을 지킬 수 있다.
        - 대표적으로 함수형 프로그래밍을 사용하는 라이브러리는 React.js
        - 함수에 항상 동일한 인자를 넣으면 동일한 결과만 반환되어 동일하게 실행결과를 
          예측할 수 있는 프로그래밍 => 함수형 프로그래밍

        - 부수효과가 없는 순수 함수란?
        > 동일한 인자가 들어갈 경우 항상 같은 값이 도출되는 함수
        > 부수적인 그 외의 효과에 영향을 받지 않음
        
        
        */



        // 순수함수의 예시
        // - 동일한 인자가 들어갈 경우, 항상 같은 값이 반환된다.

        function minus(num1, num2){
            return num1 - num2;
        }

        let minusNum = minus(10, 5) // 함수를 변수에 대입
        console.log("minus : ", minusNum);
        

        // 순수함수가 아닌 경우
        let num3 = 10;
        function multi(num1, num2){
            return num1 * num2 * num3
        }

        let multiNum = multi(2, 3)
        console.log('multi : ', multiNum);

    </script>
</body>
</html>

순수함수란 외부 변수에 영향을 받지않고 동일한 인자를 함수에 넣었을 때 항상 동일한 결과가 도출되는 함수이다.