[JS]-화살표 함수 표현을 정확히 알자!

badassong·2023년 4월 6일
0

JS

목록 보기
21/31
post-thumbnail
setPerson((person) => ({...person, mentors: person.mentors.filter((mentor) => mentor.name !== name),}))

여기서 (mentor) => 뒷 부분을 { } 로 묶어주면 왜 오류가 날까?
() => {} 이런식으로 묶어서 사용하는 곳이 있고 아닌 곳이 있던데 왜 그런지 잘 모르겠다!

알아보니!

화살표 함수가 어떤 것을 바로 리턴하게 되면 블락없이 짧게 () => X 이렇게 표현할 수도 있다.

const fn = () => {
// do something
  return a === b;
}

const fn1 = () => a === b;

이 예시 함수들은 모두 boolean 을 리턴하는 함수들임.

Array.filter method 는 위에 예시와 같이 true or false 를 리턴하는 콜백함수를 인자로 받아서 새로운 array를 만들어 내는데 질문대로 {}를 사용한다면,

items.filter((item) => {item.x ==='hello'});

여기서 자바스크립트는 추가된 {} 내에서 아무것도 리턴하지 않게 됨! 물론 오브젝트의 형태도 아님. 그래서 이렇게 써주어야 함!

items.filter((item) => {return item.x ==='hello'});

하지만 아래 표현이 더 간결하다.

items.filter((item) => item.x ==='hello');
profile
프론트엔드 대장이 되어보쟈

0개의 댓글