11

intellijのアイデアでjavascriptを書いているとき、呼び出している関数のパラメーターを確認でき、次のように表示されます

オプションの引数

これが標準ライブラリを認識している intellij 機能なのか、パラメーターをオプション/必須としてマークできる JavaScript 機能なのかはわかりません。いずれにせよ、オプション/必須パラメーターを使用して独自の関数を作成する方法を学びたいと思います。私が知っているのは、Intellij がすべての関数のパラメーターがオプションであると言っているため、オプションがデフォルトのように見えるということだけです。


私が見ている回答から、これは Intellij の機能のように思えます。しかし、Intellij が独自の関数引数をオプション/必須としてマークする方法を提供するかどうか疑問に思っています。

4

7 に答える 7

9

編集: TypeScriptのようなものを使用する場合、この種のチェックを取得できます。

これは、予想される引数を文字通りチェックせずに JavaScript で行うことは不可能です (VoronoiPotato が既に示したように)。

すべての JavaScript 関数はarguments変数にアクセスできます。これに引数が含まれているかどうか、およびそれらが期待どおりの型であるかどうかを確認できます。

var foo = func(a, b) {

  if(arguments.length < 2 )
     Throw("error");

  if(typeof a !== '<expectedtype>' && typeof b !== '<expectedtype>')
     Throw("error");
};
于 2013-09-11T18:21:46.880 に答える
8

コード補完ビットだけに関心がある場合は、IntelliJ 環境でJSDoc コメントを使用して取得できます。パラメータがオプションであるかどうかを JavaScript インタープリターに指定できないと他の人が指摘しているように、これはコードには影響しませんが、エディターはコメントから情報を取得し、入力時に表示します。そうすれば、独自の関数がライブラリ関数と同様に表示されます。

于 2013-09-11T18:31:05.920 に答える
7
function foo(value1, value2){
/**
* @param myParam1 [Required]
* @param myParam2
*/
  if(value1 == undefined){
    throw('Value1 is a required field for function foo');
  }
}
于 2013-09-11T18:13:51.623 に答える