Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 'Uncaught SyntaxError: Illegal return statement' 오류의 원인과 해결 방법

JavaScript 콘솔에서 Uncaught SyntaxError: Illegal return statement 오류가 발생한다면, 대부분 return 문(return)을 함수 외부에 작성했기 때문입니다.

오류가 발생하는 이유

JavaScript에서 return 문은 반드시 함수 내부에서만 사용할 수 있습니다. 함수 바깥에 return 문을 작성하면 문법 오류(SyntaxError)가 발생하고, 해당 스크립트의 실행이 중단됩니다. 이는 return 문이 함수의 실행을 종료하고 값을 반환하는 역할을 하기 때문인데, 함수가 아닌 위치에서는 반환할 대상 자체가 존재하지 않기 때문입니다.

잘못된 코드 (오류 발생)

// 함수 외부에 return이 있어 오류가 발생합니다
return "David"

올바른 코드 (정상 동작)

// return이 함수 내부에 있으므로 정상적으로 동작합니다
var myNameIs = function() {
  return "David"
}

해결 방법

이 오류를 해결하려면 return 문을 반드시 함수 내부로 옮겨야 합니다. 코드를 검토하여 다음 사항을 확인해 보세요.

  • return 문의 위치 확인: return 문이 어떤 함수 블록(function, 화살표 함수 등) 안에 있는지 확인합니다.
  • 중괄호 누락 여부 점검: 함수 선언 시 중괄호 { }를 실수로 빠뜨리면 return 문이 함수 밖으로 노출되어 이 오류가 발생할 수 있습니다.
  • 스크립트 최상위 레벨 점검: 파일이나 <script> 태그의 최상위 레벨에 return 문이 직접 작성되지 않았는지 확인합니다.

참고로, Node.js 환경에서 모듈 최상위 레벨에서 return과 유사한 동작이 필요하다면 process.exit()를 사용하거나, CommonJS 모듈에서는 모듈 전체를 하나의 함수로 감싸는 방식으로 우회할 수 있습니다.