Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptの純粋関数とは何ですか?


純粋関数

純粋関数 決定論的関数です 。これは、毎回同じ入力が渡されると、関数が同じ出力を返すことを意味します。数学的には、これは明確に定義された関数に他なりません。

純粋関数 次のプロパティがあります

  • それは独自の議論にのみ依存します。

  • スコープ外の変数を変更しようとはしません。

  • 副作用は発生しません。

次の例は純粋関数ではありません 関数は、それ自体の変数に依存するのではなく、スコープ外の変数(val1およびval2)に依存しているためです。

<html>
<body>
<script>
   let val1 = 6;
   let val2 = 4;
   function pure() {
      return val1 * val2;
   }
   document.write(pure());
</script>
</body>
</html>

出力

24


次の例では、関数はそれ自体の引数に依存していますが、いくつかの外部変数(val)にも依存しています。したがって、これは純粋関数ではありません。 。

<html>
<body>
<script>
   function pure(arg) {
      let val = 100;
      return val* arg;
   }
   document.write(pure(2));
</script>
</body>
</html>

出力

200


次の例は、純粋関数を示しています。 関数がタスクを実行している間は、外部変数が関与しないためです。この関数は、同じパラメーターが渡されたときに同じ出力を返します

<html>
<body>
   <script>
      function pure(arg) {
         return 4 * arg;
      }
      document.write(pure(2));
   </script>
</body>
</html>

出力

8

  1. JavaScriptの関数式とは何ですか?

    関数式を使用すると、後で変数名を使用して呼び出すことができる変数に関数を格納できます。また、通常の関数宣言のように吊り上げられていないため、定義する前に呼び出すことはできません。 以下は、JavaScriptで関数式を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-wid

  2. JavaScriptのクロージャとは何ですか?

    JavaScriptのクロージャを使用すると、外部関数が実行されて返された後でも、内部関数から外部関数スコープにアクセスできます。これは、内部関数が常に外部関数変数にアクセスできることを意味します。 以下はJavaScriptのクロージャのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device