ReferenceError: alert is not defined
at Object.<anonymous> (/Users/mac/Desktop/study/sparta/bootcamp/study/react/react_basic/test.js:2:1)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47
Node.js v18.16.0
Javscript 런타임 환경 (노드환경과 브라우저 환경)
js파일 내용에는
alert("이것은 브라우저에서 동작하는 함수입니다!");
를 넣어주고
js파일에서 html파일을 연결하지 않고 단독으로 터미널에서 node환경으로 node 파일.js를 실행했을때 alert이 실행이 되지 않고 위 사진과 같이 오류가 났음을 확인할 수 있었다. console.log("hi”);만 있었을 경우는 정상적으로 실행되었는데
Console.log();는 브라우저 환경이어서 실행이 되었고
alert("이것은 브라우저에서 동작하는 함수입니다!"); 이 부분도 브라우저 개발자 환경에서 정상적으로 실행이 되는 것을 확인 할 수 있었다.
위 오류를 통해 자바스크립트가 돌아가는 런타임 환경은 노드환경과 브라우저 환경 두가지가 있다고 알 수 있었다.