여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. React - ES6 - 화살표 함수
React – ES6 – 화살표 함수
4개월전 작성
4개월전 수정

React ES6

화살표 함수

화살표 함수를 사용하면 더 짧은 함수 구문을 작성할 수 있다.

예제 before
class Car {
  constructor(name) {
    this.brand = name;
  }
}
기본 예시
예제 보기
예제 with 화살표 함수
hello = () => {
  return "Hello World!";
}
기본 예시
예제 보기
예제 with 함수 기본값 반환 값
hello = () => "Hello World!";
기본 예시
예제 보기
예제 with 매개변수를 사용한 함수
hello = (val) => "Hello " + val;
기본 예시
예제 보기
예제 with 괄호가 없는 함수
hello = val => "Hello " + val;
기본 예시
예제 보기

this?

this의 취급은 일반 함수와 비교하여 화살표 함수에서도 차이가 있다.

요컨대, 화살표 함수에서는 this의 결합이 없다.

정규 함수에서 this 키워드는 함수를 호출하는 객체를 나타내는데, 윈도우, 문서, 버튼 등이 될 수 있다.

화살표 함수의 경우 this 키워드는 항상 화살표 함수를 정의한 개체를 나타낸다.

그 차이를 이해하기 위해 두 가지 예를 살펴보자.

두 예 모두 처음에는 페이지가 로드될 때, 그리고 사용자가 버튼을 클릭할 때 다시 한 번 메소드를 두 번 호출한다.

첫 번째 예는 정규 함수를 사용하고, 두 번째 예는 화살표 함수를 사용한다.

결과는 첫 번째 예제가 두 개의 다른 개체(창과 단추)를 반환하고 두 번째 예제는 Header 개체를 두 번 반환함을 보여준다.

예제 1

정칙 함수를 사용하면, this는 함수를 호출한 객체를 나타낸다.

class Header {
  constructor() {
    this.color = "Red";
  }

//Regular function:
  changeColor = function() {
    document.getElementById("demo").innerHTML += this;
  }
}

const myheader = new Header();

//The window object calls the function:
window.addEventListener("load", myheader.changeColor);

//A button object calls the function:
document.getElementById("btn").addEventListener("click", myheader.changeColor);
기본 예시
예제 보기
예제 2

화살표 함수로, this는 누가 함수를 호출했든 간에 헤더 객체를 나타낸다.

class Header {
  constructor() {
    this.color = "Red";
  }

//Arrow function:
  changeColor = () => {
    document.getElementById("demo").innerHTML += this;
  }
}

const myheader = new Header();


//The window object calls the function:
window.addEventListener("load", myheader.changeColor);

//A button object calls the function:
document.getElementById("btn").addEventListener("click", myheader.changeColor);
기본 예시
예제 보기
참고
Mingg`s Diary
밍구
공부 목적 블로그