ほとんど動力学型プログラミング言語は引数リストに明示的な変数を持たない。 varキーワードの目的は、(ほんの数言語は、Pythonのように、完全にVARと離れて行く「私は、既存の変数を設定しています」と
var x = 17; //new variable
x = 18; //old variable
のように「私は新しい変数を作成しています」を区別することですしかし、その前のあいまいさがを解決する必要はありませんがvarはまだ広まっているように、いくつかの問題が
)は、例えば、閉鎖や不慮のタイプミスとされているが、引数リストであなたが既存の変数にを割り当てることはできません。したがって、引数リスト内のvar宣言は、それ以上の冗長な定型文ではありません。 (冗長定型が悪いです - exibit AでCOBOLを参照)
あなたは、おそらくCやJavaからアイデアを得ているが、その場合には型宣言は変数宣言と倍増し、引数リストで嫌なものは、のためであります型はではなく、宣言用にはです。
一部の型付き言語でも、「型がなく、可変ではない」引数リストも使用できます。たとえば、Haskellでは、型を推論することができるので、それらを引数リストに書き留める必要はありません。この引数リストは、ちょうど変数名で構成さとJavascriptの場合のように、我々は余分を配置する必要はありませんので、そこに(「VAR」とHaskellのと等価)「せ」:
f a b = --arguments are still variables,
-- but we don't need "let" or type definitions
let n = a + b in --extra variables still need to be declared with "let"
n + 17
なぜこのキーワードが必要ですか? 'var'は変数を宣言し、パラメータは少し異なります。そこにキーワードのポイントはありません、それは価値を追加します。 –
それは十分な理由ではありませんか?どのような追加情報があなたに与えるのでしょうか?また、関数名を宣言するたびに4文字を節約できます。これを明示的にするために変数名を長くすることができます:)。 – Asken
ECMA-262では、宣言された変数のような仮パラメータは、コードが実行される前にローカル変数オブジェクトの名前付きプロパティになります。したがって、仮パラメータは、デフォルトでは多かれ少なかれ宣言されます。 – RobG