인프런 커뮤니티 질문&답변

정문채님의 프로필 이미지
정문채

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

안녕하세요 제로초님 자바스크립트 애로우 함수 문법 질문 드려봐요

해결된 질문

작성

·

155

1

안녕하세요. 자바스크립트 애로우함수에 대해 질문드립니다.

let a = [1, 2, 3, 4, 5];
let b = 3;

a = a.filter((x) => {
if (b !== x) {
return x
}
});
이것과
a = a.filter(x => b !== x);
이것이 같다는것은 알고 있습니다. 그렇다면
a = a.filter(x => b !== x);
a = a.filter((x) => b !== x);

이 차이점은 무엇인가요?

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

a = a.filter(x => b !== x);
a = a.filter((x) => b !== x);

둘은 똑같습니다. 매개변수가 하나면 ()를 생략할 수 있습니다.

 

a = a.filter((x) => {
if (b !== x) {
return x
}

 

});
이것과
a = a.filter(x => b !== x);
는 서로 다릅니다.
정문채님의 프로필 이미지
정문채
질문자

아 매개변수가 하나면 괄호생략 한거였군요. 감사합니다. 그런데

a = a.filter((x) => {

if (b !== x) {
return x
}

 

});
이것과
a = a.filter(x => b !== x);
이 왜 다른건가요?
자동으로 리턴해주는게 아닌가요?
제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

return x 하셔서 다릅니다. return b !== x로 같아야 합니다.

정문채님의 프로필 이미지
정문채
질문자

결과값은 같게 나오는데도 다른걸까요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

문법적으로는 a.filter((x) => {
  return b !== x;
});

입니다. 

정문채님의 프로필 이미지
정문채
질문자

아하 답변 감사합니다 :)

정문채님의 프로필 이미지
정문채

작성한 질문수

질문하기