람다 함수
자바스크립트를 사용하다보면 람다함수를 자주 사용하게 되는데, 이는 반복적인 이터레이션 로직에서 불필요한 코드를 제거 할 수 있으며 코드를 간결하게 작성 할 수 있기 때문이다.
의문점
나는 람다 함수를 사용할 때 항상 {}를 쓰며 사용 하였는데 대학교 수업을 듣다보면 분명히 똑같이 했는데 이상하게 나만 안되는 경우가 있었다. 친구한테 코드를 받으면 분명히 똑같은데 신기하게 출력이 되는 경우가 있었는데 보통 이런 경우 대부분은 자신 잘못이다. (컴퓨터는 잘못이 대부분 없다)
괄호의 차이
3개의 코드 모두 출력문은 동일하다. 난 항상 첫번째나 두번째 처럼 {}(중괄호)를 사용하여 람다함수를 사용 하였지만 3번째와 같이 ()를 사용해 바로 리턴을 하는 경우가 있다. 소괄호는 생략도 가능하며 자동으로 리턴을 해주는 데 이를 모를 경우 나와같이 오류가 나거나 동작을 안하는 경우가 있다.
람다함수 주의점
{}를 사용하게 된다면 람다함수의 바디는 코드 블럭으로 해석이 되며 이 경우에는 return 키워드를 통하여 return값을 명시해줘야한다. 그렇지 않으면 undefined를 반환하게 되어 동작을 안하게 되는 경우가 다반사이다.
이를 수정하기 위해선 return키워드를 추가해주거나 ()를 이용하여 자동으로 결과를 반환하여 주면 된다. 헷갈리지 않도록 주의하자.