コードに問題はありますか?または、関数を具体的に呼び出さずに関数を起動する方法についての理解が不足していますか?
コード:
let age = prompt('How old are you?');
//Arrow function that won't execute:
()=> { return (age < 18 ? alert('You are too young!') : alert('welcome!')); };
//This executes just fine:
if (age <= 18) {
alert('You are to young!');
} else {
alert('welcome!');
};
JavaScriptでは、関数自体を変数にすることができます。これまでのコードで行ったことは、関数を作成することですが、実際には変数に割り当てられていません。つまり、「実行する関数はここにあります」と言っていますが、実際にはその関数をどこにも保存することはありません。ここで実行できる方法はいくつかあります。
コードをifステートメントとして保持するだけです
関数を変数に割り当て、次のように呼び出します。
var checkAge = ()=> { return (age < 18 ? alert('You are too young!') : alert('welcome!')); };
そして、それをで呼び出しますcheckAge()
。
代わりに実際に行うべきことは、次のように、ageをパラメーターとしてcheckAge関数に渡すことです。
var checkAge = (a)=> { return (a < 18 ? alert('You are too young!') : alert('welcome!')); };
checkAge(a);
これは、いつでもコード内の別の場所でその関数を再び使用できることを意味するためです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加