Expected an assignment or function call and instead saw an expression. 에러 및 화살표 함수

김범·2022년 10월 16일
0
post-thumbnail

에러

Expected an assignment or function call and instead saw an expression

이유

간혹 map 메소드 혹은 화살표 함수 사용시 위와같은 에러가 발생할 때가 있다.
둘 다 같은 맥락이지만 화살표 함수에 대한 기본적인 이해가 부족해 발생한 에러였다.
화살표 함수는 함수 본문에 return만 있는 경우 return 키워드를 생략가능해서
보통 return 인줄 모르고 중괄호를 사용 후 식 또는 값을 넣어주어 발생한다.

해결법

  1. ()=>()
    화살표 함수에 ()=>{ } 대신 ()=>()와 같이 { }중괄호를 ( )소괄호로 바꿔준다.
  2. ()=>{return ()}
    중괄호를 사용하고자 할 경우 return키워드를 사용해 준다.

화살표 함수에 대해

화살표 함수는 기본적으로 (매개변수)=>{본문}의 구조를 지니고 있다.
하지만 다른 방식으로 표현이 가능하기에 헷갈리기 쉽다.

  1. 매개변수가 하나뿐인 경우 괄호 생략 가능
    event => {}
  2. 본문이 return (식 or 값) 뿐인 경우 { }와 return 키워드 생략가능
    () => <div>hi</div>
  3. return 할 값이 객체인 경우 괄호 필수
    () => ({a:1,b:2})

0개의 댓글