Arrow function
https://webclub.tistory.com/649 블로그 참조
화살표 함수(Arrow function)
이 글은 [인프런] Javascript ES6+ 제대로 알아보기 - 초급(정재남)를 토대로 작성되었음을 알려드립니다. Arrow Function(화살표 함수) 다음의 ES5 의 함수 표현식과 es2015 의 화살표 함수를 비교해 보도록
webclub.tistory.com
1) (매개변수) => { 본문 }
2) 매개변수가 하나뿐인 경우 괄호 생략 가능
3) 매개변수가 없을 경우에는 괄호 필수
4) 본문이 return [식 or 값] 뿐인 경우 { } 와 return 키워드 생략 가능
5) return 할 값이 객체인 경우네는 괄호 필수
function oldFunction() {
return '나는 옛날 함수입니다'
};
함수를 하나 선언하고 문자열을 리턴해 주었습니다. 이것을 새로운 문법인 화살표 함수로 바꾸어 볼까요?
const newFunction = () => { //왼쪽이 변수, 오른쪽이 function 생략한 화살표함수
return '나는 새로운 함수입니다'
};
표현 방식이 다를 뿐, 둘은 같은 작업을 수행합니다. 다른 것은 화살표 함수에는 함수 이름을 설정할 수가 없다는 것이죠. 그래서 변수에 함수를 담는 형태가 됩니다. 그래서 화살표 함수 자체만을 얘기하자면 밑의 형태만을 얘기하는 것이 맞습니다.
() => {
return '나는 새로운 함수입니다'
}
자바스크립트를 프로그래밍할때 콜백을 담는 형태에 함수를 담는 형태가 있는데, 그럴 때 화살표 함수를 사용하면 코드의 줄 수를 줄이면서 직관적인 프로그래밍을 할 수 있습니다.
표현방식
기존의 함수 표현식에서 function 키워드를 삭제하고 인자를 받는 매개변수의 괄호()와 코드블록({}) 사이에
화살표(=>) 만 넣어주면 이것이 바로 화살표 함수(Arrow Function)입니다.
그리고 함수 내부의 내용이 반환값(return)만 있다면 코드블록(함수의 몸통)인 중괄호({})와 return 을 생략할 수 있습니다.
그리고 또 하나 생략할 수 있는 것이 인자가 하나만 받는다면 매개변수의 괄호()도 생략 가능하고, 여기서 주의해야 할 점은 인자가 없으면 생략할 수 없습니다.
예전함수
var b = function (a) {
return a * a
};
>>
화살표함수
let b = (a) => {
return a * a
};
//매개변수의 괄호 생략, 중괄호 생략, return 생략 가능
let bb = a => a * a;
function oldFunction() {
return '나는 옛날 함수입니다'
};
const newFunction = () => '나는 새로운 함수입니다';
간단한 작업의 경우라면, 화살표 함수는 괄호를 사용하지 않은 채로 화살표 뒤에 반환해줄 값을 설정하게 되면, 그 값이 반환됩니다. 코드의 줄을 줄일 수 있을 뿐만 아니라 굉장히 이해하기 쉬운 코드가 됩니다. 훨씬 직관적이구요.
// 괄호 안에 이상한 문법이 들어가 버렸습니다...!
const newFunctionWrong = () => { a: '나는객체요소' };
// 소괄호로 감싸게 되면 객체 자체를 리턴할 수가 있게 됩니다.
const newFunction = () => ({ a: '나는객체요소' });
리턴할 객체 위에 소괄호를 감싸면 객체 자체를 리턴할 수 있는 형태가 됩니다.
'front-end > 리액트' 카테고리의 다른 글
[리액트] 일정관리 만들기 - MAP, 컴포넌트, props, event (0) | 2023.03.30 |
---|---|
[리액트 ] useState (0) | 2023.03.29 |
Restful과 React 이해하기 (0) | 2023.03.28 |
[리액트] 생활코딩 - 컴포넌트, props, 이벤트(이벤트 미완성) (0) | 2023.03.10 |
[리액트] 생활코딩- 리액트 설치, 특징, 배포, 함수 형태 (0) | 2023.03.07 |
댓글