はじめに
この実験では、JavaScript における便利なユーティリティ関数である callOrReturn 関数について学びます。この関数は、与えられた引数が関数であるかどうかを判断するために使用できます。引数が関数の場合、その他の引数とともに呼び出されます。それ以外の場合、与えられた引数がそのまま返されます。この実験が終了すると、この関数を使ってコードを簡略化し、読みやすさを向上させることができるようになります。
関数を呼び出すか、または別の関数を返す
コーディングの練習を始めるには、ターミナル/SSH を開き、node と入力します。
ここに、引数を受け取り、それが関数の場合にはそれを呼び出し、それ以外の場合にはそれを返す callOrReturn という関数があります。その機能は以下の通りです。
- この関数は 2 つのパラメータを取ります。
fnと...args。fnはチェックする引数であり、...argsは関数が呼び出された場合に渡す引数のリストです。 - 与えられた引数が関数であるかどうかを確認するために
typeof演算子を使用します。 - 引数が実際に関数である場合、スプレッド演算子 (
...) を使用して関数を呼び出し、与えられた残りの引数を渡します。それ以外の場合、単に引数を返します。 callOrReturn関数の使い方の例を以下に示します。
const callOrReturn = (fn, ...args) =>
typeof fn === "function" ? fn(...args) : fn;
callOrReturn((x) => x + 1, 1); // 2
callOrReturn(1, 1); // 1
最初の例では、callOrReturn(x => x + 1, 1) は引数 1 で関数 x => x + 1 を呼び出し、それは 2 を返します。2 番目の例では、callOrReturn(1, 1) は関数ではないため、単に 1 を返します。
まとめ
おめでとうございます!Call or Return の実験を完了しました。スキルを向上させるために、LabEx でさらに実験を行って練習してください。