[Javascript] ReferenceError: alert is not defined

Nadia·2024년 2월 14일

Error 해결

목록 보기
1/3

ReferenceError: alert is not defined


ReferenceError

: 현재 범위에서 존재하지 않거나 초기화되지 않은 변수를 참조했을 때 발생하는 에러



현상

콘솔에서 alert를 사용하여 출력하려고 했는데 에러가 뜨면서 실행이 되지 않았다.


원인

이 오류는 서버 측 Node.js 환경에서 'alert()' 메소드를 사용하고 있기 때문에 발생한다.

  • alert은 JavaScript의 일부가 아닌 웹 브라우저에서만 사용할 수 있는 window() 객체에 대한 메소드이다.
    = 따라서 브라우저 환경에서만 사용할 수 있다.

  • alert 메서드가 브라우저 환경 외부에서 사용될 때 발생한다.
    가장 일반적으로 Node.js에서 발생한다.


해결

alert을 console.log로 대체하여 사용하였다.


배운점

alert()는 window() 객체의 메소드이다.

-alert()를 Java의 System.out.println()처럼 콘솔에서 실행할 수 있는 메서드라고 생각했었다.
alert()는 서버가 아닌 브라우저에서만 실행되는 메서드인데 서버에서 실행하려고 하니 안되는 것이 당연한 것이었다.


현재 브라우저에 있는지, 서버에 있는지 확인하기

if (typeof window !== 'undefined') {
  console.log('on the browser')
  // alert() 사용 가능 O
} else {
  console.log('on the server')
  // alert() 사용 불가능 X
} 


브라우저가 아닌 서버에 있어서 alert() 사용이 불가능하다는 것을 확인할 수 있었다.




참고 블로그
https://bobbyhadz.com/blog/javascript-referenceerror-alert-is-not-defined#referenceerror-alert-is-not-defined-in-javascript
https://reactgo.com/node-js-alert-is-not-defined/

profile
비전공자 개발 일기

0개의 댓글