👋 Arrow Function, 함수 블록 사용, 파라미터 사용
1) Arrow Function
Arrow
의 사전적 의미 : 화살, 화살표-
코드 형태
(param) => {함수 코드}
const add = function (one, two) { return one + two; }; console.log(add(1, 2)); // 3 const total = (one, two) => { return one + two; }; console.log(total(1, 2)); // 3
function
키워드 대신에 화살표=>
사용=>
표 양쪽에 공백 작성 가능
function() {}
의 축약 형태이지만, 고려할 사항도 있음(this
참조가 다름)
2) 함수 블록 사용
-
함수 블록과
return
작성생략const total = (one, two) => one + two; console.log((total(1,2)); // 3
- 함수 블록
{}
과return
을 생략한 형태로{ return one + two }
와 같음 =>
앞에서 줄을 분리하면SyntaxError
=>
뒤에서는 개행 가능
- 함수 블록
-
함수 블록
{}
만 작성한 형태const total = (one) => {}; console.log(total(1)); // undefined
- 함수 블록
{}
만 작성하면undefined
반환 - 함수 블록에
return
을 작성하지 않은 것과 같음 return
을 작성하지 않으면default
로undefined
를 반환 함- 화살표가 함수이기 때문이 아니라
JS
문법임
- 함수 블록
-
{key: value}
를 반환하는 형태const point = (param) => ({ book: param }); const result = point('책'); for (const key in result) { console.log(key + ': ' + result[key]); } // book: 책
{key: value}
를 소괄호()로 감싸면{key: value}
를 반환함- 소괄호()을 작성하지 않으면
undefined
를 반환함
3) 파라미터 사용
-
파라미터가 하나 일 때
const get = (param) => param + 20; console.log(get(10)); // 30
- 파라미터가 하나이면
(param)
에서 소괄호를 생략할 수 있음 get(10)
에서10
이param
에 설정됨
- 파라미터가 하나이면
-
파라미터가 없으면 소괄호만 작성
const get = () => 10 + 20; console.log(get()); // 30
- 파라미터가 없으면 소괄호만 작성할 수 있음