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

blossom_mind님의 프로필 이미지
blossom_mind

작성한 질문수

[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

8.3) 기능 구현 준비하기

화살표 함수 질문드립니다.

해결된 질문

작성

·

520

0

화살표 함수 질문드립니다.

const a = (a ) => {a *b }

보통 이렇게 가는데 어떤건

const a = (a ) => { ( a* b ) } 으로 괄호가 들어가더라구요

어떤 경우에 괄호가 들어가고 어떤 경우에는 빠지는지가 궁금합니다 .

 

답변 1

2

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

화살표 함수는 => 옆에 값을 적어주면 해당 값을 바로 반환하는 특징을 가지고 있습니다. 예를 들면 다음과 같습니다.

const arrayFunction = (a, b) => a + b;
// a + b의 값을 바로 반환함

그런데 만약 이런 화살표함수에서 함수 내부에 여러줄의 코드를 사용하고 싶다면 다음과 같이 중괄호를 사용합니다. 이때 반환하려는 값이 있다면 일반 함수 선언과 같이 return을 이용해야 합니다.

const arrayFunction = (a, b) => {
  const resValue = a + b;
  return resValue;
}
// a + b의 값을 resValue에 저장해두었다가 반환함

그런데 만약 객체값을 바로 반환하려고 하는 경우 다음과 같이 중괄호만 사용하면 함수 본문으로 이해됩니다.

const arrayFunction = (a, b) => { a:a, b:b }
// ??? 문법 오류

이럴 때에는 소괄호로 중괄호를 묶어주면 이 중괄호 내부를 객체로 인지하여 객체 값을 바로 반환하는 화살표 함수를 만들 수 있습니다.

const arrayFunction = (a, b) => ({ a:a, b:b });
// {a:a, b:b}를 반환함
blossom_mind님의 프로필 이미지
blossom_mind

작성한 질문수

질문하기