矢印関数
概要
ES 6から矢印関数が導入された.functionというキーワードと括弧は省略できます.
✔申functionキーワードは省略可能
✔申関数にパラメータが1つしかない場合()カッコは省略できます
✔申関数本体に1つの式しかない場合、括弧を省略できます。return
常に匿名関数
𘚠𘚠は、新しい生成者と一緒に使用できません。これがないから。
const f1 = function() { return 'hello!'; }
// 위 아래 코드는 동등한 결과 출력
const f1 = () => 'hello!';
functionを省略し、「hello」、{}のみを出力し、returnをスキップできます.const f2 = function(name) { return `Hello, ${name}!`; }
// 위 아래 코드는 동등한 결과 출력
const f2 = name => `Hello, ${name}! `;
f 2はパラメータで、nameは1つしかありません.したがって、カッコ(name)を省略し、{}とreturnをスキップします.const f3 = function(a, b) { return a + b; }
// 위 아래 코드는 동등한 결과 출력
const f3 = (a, b) => a + b;
パラメータがa,bの2つある場合は()は省略できないが,関数,{},returnは省略できる.thisと矢印関数
矢印関数では、thisは静的にバインドされています.これは別の定義はありません.したがって,外部はこの点を参照する.
let group = {
title: "group1",
students: ["david", "lucas", "henderson"],
showList() {
this.students.forEach(
student => alert(this.title + ': ' + student)
);
}
};
group.showList();
矢印関数のthisは、外部コードブロックshowList()関数のthisです.title in groupタイトルを指します.let group = {
title: "group1",
students: ["david", "lucas", "henderson"],
showList() {
this.students.forEach(function(student) {
// TypeError: Cannot read property 'title' of undefined
alert(this.title + ': ' + student)
});
}
};
group.showList();
一般関数でアクセスすると、これ.titleは定義されていません.リファレンス
1)JavaScript(光メディア)の学習
2) https://ko.javascript.info/arrow-functions-basics
3) https://ko.javascript.info/arrow-functions
Reference
この問題について(矢印関数), 我々は、より多くの情報をここで見つけました https://velog.io/@skkfea07/ES6-화살표-함수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol