2016-05-07 3 views
0

基本的に、次のパターンは拒否され、エラーとして表示されます。JavaScriptでJavaScript関数のデフォルトのパラメータ値を設定する方法を教えてください。

function fooBar(flag = true) { 
    // flag will be set to true is someone called fooBar() without any parameters 
} 

EDIT:私は本当のアクションを表示するには、次のスニペットを追加しました。これは、よりエレガントで、読みやすく、保守しやすく、実行速度も速く(アンダースコアなし)... JavaScriptによってサポートされています。

function greet(param = "World") { 
 
\t alert("Hello " + param + "!"); 
 
} 
 

 
greet(); // Will alert "Hello World" 
 
greet("Thomas"); // Will alert "Hello Thomas"

おかげ

答えて

1

それはチタン1以上のjavascriptの質問です。 あなたは(合金を含む)にLIBアンダースコアからisUndefined機能を使用することができます。http://ariya.ofilabs.com/2013/02/es6-and-default-argument.html

function fooBar(flag) { 
    // flag will be set to true is someone called fooBar() without any parameters 
    if(_.isUndefined(flag)) 
    flag = true; 

} 

は、機能のためのチタンのモバイル利用のECMAScript 5と、デフォルト値の引数がECMAScriptの6で導入されたことを忘れないでください。

+0

あなたの答えをありがとうが、私は同意しません。 JavaScriptは、関数のパラメータのデフォルト値をサポートしています。私は実際に何を意味するかを示すランナブルコードスニペットを追加する質問を編集しました。 – asiby

+0

よろしくお願いします。だから、エラーは何ですか?あなたはコンソールログを投稿できますか? –

+0

最初のエラーは次のとおりです。予期しないトークン "="。そして、私がこのパターンをどこで使うかによっては、意味のない一連のエラーのカスケードにつながります。コンパイルしようとすると、ポップアップに次のようなメッセージが表示されます。必要なプロジェクトにエラーがあります。 ...尋ねることなく常に起動するように指示するチェックボックスが付いています。 – asiby

関連する問題