JavaScript における述語関数の否定

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、JavaScript における述語関数の否定の概念を探ります。述語関数を受け取り、元の関数の出力を否定する新しい関数を返す高階関数を作成する方法を学びます。実際の例を通じて、この技術が配列のフィルタリングや入力の検証にどのように役立つかを見ていきます。

JavaScript で述語関数を否定する方法

JavaScript で述語関数を否定するには、! 演算子を使用できます。これを行うには、negate と呼ばれる高階関数を作成し、そこに述語関数を渡して、その引数とともに ! 演算子を適用します。以下は、negate を実装する方法の例です。

const negate =
  (func) =>
  (...args) =>
    !func(...args);

その後、negate を使って任意の述語関数を否定できます。以下は、配列から偶数を除外するために negate を使用する方法の例です。

const isEven = (n) => n % 2 === 0;
const isOdd = negate(isEven);

[1, 2, 3, 4, 5, 6].filter(isOdd); // [ 1, 3, 5 ]

この例では、isEven は数値が偶数かどうかをチェックする述語関数です。そして、negate を使って isEven を否定することで、数値が奇数かどうかをチェックする新しい述語関数 isOdd を作成します。最後に、filter メソッドとともに isOdd を使って、配列から偶数を除外します。

まとめ

おめでとうございます!あなたは「述語関数の否定」の実験を完了しました。あなたの技術を向上させるために、LabEx でさらに実験を行って練習してください。