익명 함수에서 식이 하나고 중괄호가 없으면 return
이 있는 거랑 똑같습니다.
const f1 = arg => { return ret; };
const f2 = arg => ret;
위에서 f1
과 f2
는 같은 함수입니다.
const f3 = arg => { ret; }
f3
는 반환값이 없으므로 void
리턴 함수가 됩니다. Array.ptototype.filter
함수에 콜백 함수 리턴 값이 undefined
함수면 무조건 false
로 처리해서 빈 배열이 나오는 것이겠지요.
참고로 함수 매개변수도 하나라면 괄호를 생략할 수 있고, 오브젝트 리터럴을 반환값으로 쓰려면 중괄호를 괄호로 묶어줘야 return
키워드를 생략할 수 있습니다. 안 그러면 문법 오류 납니다.
const f4 = arg => {
return { x: 3 };
};
const f4 = arg => ({ x: 3 });