関数式、矢印関数(矢印関数)
8277 ワード
出典:Cotting Anmajavascriptの基礎課程の内容をまとめた文章です.
https://www.youtube.com/watch?v=KF6t61yuPCY
🍋関数宣言
より簡潔です. のみが戻る場合は、{}カッコを=>()カッコに置き換え、戻りを省略できます. のみが返される場合は、カッコを省略できます. が1つしかない場合は、カッコを省略できます. パラメータなしの整数であれば括弧は省略できません. が文を返すのに1行しかないが、複数行のコード()がある場合は、一般的なカッコは使用できません.
矢印関数はES 6の後に追加された機能です.ES 6以降は非常に活躍しているのでぜひ知っておきたい
https://www.youtube.com/watch?v=KF6t61yuPCY
🍋関数宣言
これが既定の方法です.function sayHello(){
console.log('Hello');
}
sayHello()
🍋関数式
変数を名前のない関数に宣言することで、関数を割り当てます.let sayHello = function(){
console.log('Hello');
}
sayHello()
🤔 関数宣言文と関数式の違いは何ですか?
これが呼び出しのタイミングです.
関数宣言:どこでも呼び出す
sayHello()
function sayHello(){
console.log('Hello');
}
このように変えても動作します
上から下へ読む操作のInterpret言語JavaScriptでそんなことがあるはずがない.console.log
を使用すると、次のようにエラーが出力されます.
では、sayHello
はどのように働いているのでしょうか.
これはJavaScript内部アルゴリズムのためです.
実行前の初期化フェーズでは、JavaScriptはコード内のすべての関数宣言を検索して作成します.これは、目視では、関数の使用可能範囲がコードの位置を超えていることを意味します.これはハウスティンと呼ばれています.
関数式カンスウェイ:コードに到達したときに作成
let sayHello = function(){
console.log('Hello');
}
sayHello()
コードに到達する必要があるため、生成後にのみ使用できます.
🤔だからどちらがいいですか?
関数宣言はより自由に符号化できるが,どちらを用いても構わない.
🍋矢印関数
function sayHello(){
console.log('Hello');
}
sayHello()
変数を名前のない関数に宣言することで、関数を割り当てます.
let sayHello = function(){
console.log('Hello');
}
sayHello()
🤔 関数宣言文と関数式の違いは何ですか?
これが呼び出しのタイミングです.
関数宣言:どこでも呼び出す
sayHello()
function sayHello(){
console.log('Hello');
}
このように変えても動作します上から下へ読む操作のInterpret言語JavaScriptでそんなことがあるはずがない.
console.log
を使用すると、次のようにエラーが出力されます.では、
sayHello
はどのように働いているのでしょうか.これはJavaScript内部アルゴリズムのためです.
実行前の初期化フェーズでは、JavaScriptはコード内のすべての関数宣言を検索して作成します.これは、目視では、関数の使用可能範囲がコードの位置を超えていることを意味します.これはハウスティンと呼ばれています.
関数式カンスウェイ:コードに到達したときに作成
let sayHello = function(){
console.log('Hello');
}
sayHello()
コードに到達する必要があるため、生成後にのみ使用できます.🤔だからどちらがいいですか?
関数宣言はより自由に符号化できるが,どちらを用いても構わない.
🍋矢印関数
let add = function(num1, num2){
return num1 + num2;
}
👇
let add = (num1, num2) => {
return num1 + num2;
}
1行let add = (num1, num2) => (
num1 + num2;
)
1行let add = (num1, num2) =>num1+num2;
パラメータlet add = name =>`Hello, ${name}`;
let showError = () => {
alert('error!');
}
let add = (num1,num2) => {
const result = num1 + num2;
return result;
}
宣言はもっと自由だ.矢印関数はES 6の後に追加された機能です.ES 6以降は非常に活躍しているのでぜひ知っておきたい
Reference
この問題について(関数式、矢印関数(矢印関数)), 我々は、より多くの情報をここで見つけました https://velog.io/@remon/함수-표현식-화살표-함수arrow-functionテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol