JavaScript 화살표 기능이란 무엇입니까?

이 기사에서는 JavaScript 화살표 함수에 대한 모든 것을 배우게 됩니다. 우리가 사용하는 화살표 함수는 코드를 더 간결하게 만들고 작성할 수 있는 변형이 많습니다.
Javascript 는 매우 기능이 많은 언어 입니다. 자바스크립트의 함수는 가장 가치 있는 개념 중 하나입니다. 우리는 함수를 작성하고 함수, 콜백을 전달하고 함수가 있는 동기화 코드를 전달합니다. 자바스크립트의 기본적인 부분일 뿐입니다.
오랫동안 우리는 자바스크립트에서 함수를 작성하기 위해 함수 키워드를 작성했습니다. 다음은 JavaScript에서 함수의 몇 가지 예입니다. 여기에서 function 키워드를 사용하고 있음을 알 수 있습니다.
(function () {
//...
});
익명 함수는 초기 생성 후에는 액세스할 수 없습니다. 따라서 변수에 할당해야 하는 경우가 많습니다.
예를 들어 다음은 메시지를 표시하는 익명 함수를 보여줍니다.
let show = function() {
console.log('Anonymous function');
};
show();
나중에 익명 함수를 호출해야 하므로 익명 함수를 show
변수에 할당합니다.
익명 함수를 show 변수에 할당하면 유효한 표현식이 되므로 익명 함수를 괄호로 묶을 필요가 없습니다 ()
.
실제로 익명 함수를 다른 함수에 대한 인수로 전달하는 경우가 많습니다. 예를 들어:
setTimeout(function() {
console.log('Execute later after 1 second')
}, 1000);
함수는 JavaScript 에서 일급 시민 입니다. 따라서 함수를 다른 함수에 인수로 전달할 수 있습니다.
여기에서 함수 키워드를 작성하고 함수를 정의해야 할 때마다 볼 수 있습니다. 그러나 이것은 Arrow Function이 그림에 들어오는 곳입니다. ES6에서는 익명 함수를 선언하기 위한 속기를 제공하는 화살표 함수 표현식을 도입했습니다. 화살표 함수 표현식은 전통적인 함수 표현식 에 대한 간결한 대안 으로 일부 의미론적 차이와 의도적인 사용 제한이 있습니다.
일반적으로 화살표 함수는 더 짧고 때로는 전통적인 자바스크립트 함수와 비교할 때 다르게 동작합니다.
화살표 기능은 Internet Explorer 에서 지원되지 않습니다 .

화살표 함수를 정의할 때 '= 및 >' 기호를 사용하고 있습니다. 화살표처럼 생겼기 때문에 이러한 함수를 화살표 함수라고 합니다.
let show = () => console.log('Anonymous function');
이렇게 일반 함수를 화살표 함수로 작성할 수 있습니다.
let add = function (a, b) { // Normal Fucntion
return a + b;
};
let add = (a, b) => a + b; // Arrow Fucntion
- 인수가 2개인 경우 괄호를 일반 함수로 사용할 수 있습니다.
let add = function (a, b) { // Normal Fucntion
return a + b;
};
let add = (a, b) => a + b; // Arrow Fucntion
let square = function(x){ // Normal Fucntion
return x * x;
}
let square = (x) => { // Arrow fucntion with parenthesis
return x * x;
}
let square = x => { // You can modify it as like this
return x * x;
}
let square = x => ( // Furthermore you can modify by removing return keyword
x * x // Replace {} with ()
);
let square = x => x * x; // Furthermore you can modify
let test = () => console.log('No Arguments');

이 문제를 제거하려면 괄호 로 묶어야 합니다.

이제 javascript는 반환 값으로 알고 있으며 함수 본문에 대한 중괄호가 아닙니다.
this
화살표 함수는 , arguments
또는 에 대한 자체 바인딩이 super
없으며 메서드로 사용해서는 안 됩니다.
- 화살표 함수 표현식은 고유한 가 없기 때문에 메소드가 아닌 함수에만 사용해야 합니다
this
.
const person ={
name: "Kasun",
action: function(){
console.log(this.name, "says Hi");
}
}
person.action();

나는 person 개체에 대한 작업을 호출하고 있으며 이름 값은 연결된 문자열과 함께 반환됩니다. 이제 일반 함수 대신 화살표 함수를 사용해 봅시다.
const person ={
name: "Kasun",
action: () => console.log(this.name, "says Hi")
}
person.action();

이제 출력으로 " says Hi " 만 얻 습니다. 여기 뭔 일 있었 니? 화살표 기능을 사용할 때 이름의 값은 일반 기능이 작동하도록 설정되지 않았습니다. 화살표 함수에서 this를 사용할 때 그냥 window 객체로 설정됩니다. action 함수가 독립 실행형 함수인 것처럼 동작합니다.
비슷한 이유로, call()
, apply()
및 bind()
메서드는 화살표 함수에서 호출될 때 유용하지 않습니다 this
. 화살표 함수는 화살표 함수가 정의된 범위를 this
기반으로 설정되고 함수가 호출되는 방식에 따라 값이 변경되지 않기 때문입니다.
- 화살표 함수는 생성자로 사용할 수 없으며 로 호출하면 오류가 발생합니다
new
. 그들은 또한prototype
재산이 없습니다.
const Foo = () => {};
const foo = new Foo(); // TypeError: Foo is not a constructor
console.log("prototype" in Foo); // false
이것은 화살표 함수에 관한 모든 것이며 화살표 함수를 완벽하게 이해하기를 바랍니다. 다른 튜토리얼에서 뵙겠습니다.
감사!