Arrow Function

carminchameleon·2020년 2월 11일
0

어반자바스크립트

목록 보기
1/1

ES6 = ECMA Script 2015

ES 는 ECMA Script의 줄임말 인데요, 그럼 ECME Script는 무엇일까요? ECMA Script 는 JavaScript를 표준화, 규격화 시키기 위해서 만들어졌습니다.

ECMA Script is a (ECMAScript (or ES) is a scripting-language specification standardized by Ecma International)

현재는 ES10 버전까지 나왔지만 가장 주로 쓰이는 것은 2015년에 나온 ES6 입니다.

유용한 기능이 많이 있는 ES6! 그 중에서도 가장 많이 쓰이는 arrow function에 대해서 알아보겠습니다.

//ES5
function (){
}

//ES6
() => {}

이름이 없는 함수의 기본적인 표현입니다.
ES6 에서는 function 이라는 키워드 없이 소괄호 () 만 남았습니다.
그리고 arrow => 가 추가 되었네요.

이름이 있는 함수로 볼까요?

// ES5
function greeting(){

}

//ES6
const greeting = () => {}

//호출할 때
getName()

ES6 에서는 함수를 gretting이라는 변수에 저장했습니다. 사실 함수 또하나 변우세 저장할 수 있는 하나의 식 입니다. 그래서 ES5때도 함수를 변수에 저장 할 수 있었습니다.

//ES5
// Function Declaration
function getName(){
}

// Function Expression
const getName = function (){}

인자를 받아보겠습니다.

//ES5
const getName = function (name) {}

//ES6
const getName = (name) => {}
const getName = name => {}

인자가 __하나__일 때에는 __소괄호의 생략__이 가능합니다.
하지만, 두 개일 때에는 생략 불가능!

//ES5
const getName = function (name, age){ }

//ES6
const getName = (name, age ) => {}

return을 하는 함수

//ES5
function hi(text){
    text += "하세요!!"
    return text;
}
//ES6
const hi = text => { text += "하세요!!"; return text}

만약 함수가 실행 내용 없이 return만 한다면, return 키워드는 생략이 가능합니다.

//ES5
function getName(name){
   return name;
   }
// ES6
const getName = name => {return name};
const getName= name => name ;

또 다른 예시를 볼까요?

// ES5
function getFullName(firstName, lastName){
  return firstName + lastName
  }
  
// ES6
const getFullName = (firstName, lastName ) => firstname + familyName;
profile
나는야 코린이 하지만 무럭무럭 자라고 있죠

0개의 댓글