矢印関数
2557 ワード
1.矢印関数とは?
//기존 함수
function doubles(a) {
return 2 * a;
};
//화살표 함수를 사용한 경우
let doubles = (a) => {return 2 * a};
2.関数宣言方法
行きましょう。パラメータの違い
1)パラメータがありません。
let myfunction = () => {...};
2)パラメータが1つしかない場合
let myfunction = a => {...};
3)パラメータが複数の場合
let myfunction = (a, b) => {...};
私。関数の長さの違い
1)関数が文の場合
let myfunction = a => 2 * a;
2)関数が複数の文の場合
let myfunction = a => {return 2 * a};
3.一般関数と矢印関数のthis
通常の関数で使用されるthis値は、関数がどのように呼び出されるかによって異なります.次の例です.オブジェクト内でthisを呼び出すとは、オブジェクト自体を指します.
window.param = "global param";
function printParam() {
console.log(this.param);
};
let object = {
param: "object param",
func: printParam
};
let object2 = {
param: "object2 param",
func: printParam
};
object.func(); //"object param"
object2.func(); //"object2 param"
逆に、矢印関数で使用されるthisは、呼び出された時点に関係なく、宣言された時点で決定され、常に親のthisを指します.window.param = "global param";
let printParam = () => {
console.log(this.param);
};
let object = {
param: "object param",
func: printParam
};
let object2 = {
param: "object2 param",
func: printParam
};
object.func(); //"global param"
object2.func(); //"global param"
次に別の例を示します.//일반 함수인 경우
let object = {
myName: "Barbie",
logName: function() {
console.log(this.myName);
}
};
object.logName(); //"Barbie"
//화살표 함수의 경우
let object = {
myName: "Barbie",
logName: () => {
console.log(this.myName);
}
};
object.logName(); //undefined
//밖에서 myName에 값을 미리 할당해준 경우
window.myName = "Molang";
let object = {
myName: "Barbie",
logName: () => {
console.log(this.myName);
}
};
object.logName(); //"Molang"
ソース例:https://codedot.co.kr/9、https://velog.io/@drazing hannah/JavaScript-矢印関数矢印-function-既知Reference
この問題について(矢印関数), 我々は、より多くの情報をここで見つけました https://velog.io/@nylee9621/javascript-화살표함수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol