Thanks to visit codestin.com
Credit goes to developer.mozilla.org

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

SyntaxError: return not in function

JavaScript 예외 "return (or yield) not in function"은 return 또는 yieldfunction 외부에서 호출될 때 발생합니다.

메시지

js
SyntaxError: 'return' statement outside of function (Edge)
  SyntaxError: return not in function (Firefox)
  SyntaxError: yield not in function (Firefox)

에러 타입

SyntaxError.

무엇이 잘못된 걸까요?

return 또는 yield 문장이 function 밖에서 호출되었기 때문입니다. 혹시 어딘가에 중괄호를 빠트리신 건 아닌가요? returnyield는 function 내에 있어야합니다. 왜냐하면 이것들은 function의 실행 종료 (또는 일시정지 및 재개)를 의미하고 function 호출자에게 특정 값을 반환하기 위해 사용되기 때문입니다.

예제

중괄호 누락

js
var cheer = function(score) {
  if (score === 147)
    return 'Maximum!';
  };
  if (score > 100) {
    return 'Century!';
  }
}

// SyntaxError: return not in function

처음 볼 때는 중괄호가 제대로 있는 것처럼 보인다, 하지만 이 코드 조각에는 if 문장 다음에 중괄호가 하나 빠져 있다. 다음처럼 고쳐야 한다:

js
var cheer = function (score) {
  if (score === 147) {
    return "Maximum!";
  }
  if (score > 100) {
    return "Century!";
  }
};

같이 보기