본문 바로가기
Web/JavaScript

[JS] 자바스크립트 함수 종류 / 화살표 함수 차이점 ❓

by 서상혁 2020. 1. 6.

방법 1. function 함수이름 {}

function fun1() {
	return true;
}

function fun1(a,b) {
	return a+b;
}

 

파싱하는 단계에서 함수가 정의된다.

 

방법 2. var a = 함수 (익명함수)

var fun2_1 = function() {
	return true;
}

var fun2_2 = function(a,b) {
	return a+b;
}

변수에 함수를 할당한다.

런타임 단계에서 함수가 정의된다.

그렇기 때문에, 방법 1과 다르게 함수 선언 순서에 따라 함수가 잘 작동하지 않을 수 있다!

 

방법3. Function을 이용한 객체로서의 선언

var fun3 = new Function("a", "b", "a+b");

잘 안쓰인다고 한다.

 

방법4. 화살표함수

var fun4_1 = () => {
	return true;
}

var fun4_2 = (a,b) => {
	return a+b;
}

let food = {
  name: "pizza",
  foodprint: function() {
    setTimeout(() => {
      console.log(this.name)
    }, 2000)
  }
}

화살표 함수는 방법2와 같아보이지만

this 를 바깥쪽 함수에 접근해서 가져오기 때문에 위 예시와 같은 상황에서 유용하다.

 

참고

https://velog.io/@ki_blank/JavaScript-%ED%99%94%EC%82%B4%ED%91%9C-%ED%95%A8%EC%88%98Arrow-function(화살표함수)

 

 

728x90

댓글