728x90
오류가 나게 된 상황
- https://siyoonn.tistory.com/25 함수의 가변 인자를 공부하던 중 테스트를 하기 위해https://hashcode.co.kr/code_runners 코드 실행기에서 코드를 실행하려다 오류를 만났다
// 코드 실행기에서 실행 했던 코드
function add(x,y){
console.log(typeof arguments[1]);
return x + y;
}
document.write(add(14,3,25,1,2,"hello","hi"));
오류의 원인 (**오류 해결은 했지만 잘못 이해하거나 해석이 되었을 수 있습니다. 고쳐야 하는 부분은 댓글 남겨주세요! ** )
1. document.write(add(14,3,25,1,2,"hello","hi")); 이 부분에서 오류가 나는 거였고 조금 찾아보니 이유를 알 수 있었다.
2. 자바스크립트 는 처음 언어가 만들어질 때 브라우저 안에 존재했기 때문에 자바스크립트는 자신을 둘러싼 브라우저 환경 안에서 코드가 해석되고 실행된다.
(window, document 같은 이름을 가진 객체가 브라우저 환경을 의미)
3. 코드 실행기에서는 오류를 내던 코드가 비주얼 스튜디오에서 실행해보니 잘 되었다. 코드 실행기도 브라우저라 생각했었는데 아무래도 코드를 실행하던 곳이 브라우저가 아니라 로컬 환경(?) 이였던 거 같다.....
해결 방법
- 코드 실행기가 아닌 비주얼 스튜디오에서 코드를 실행 하니까 에러가 안 뜨고 정상적으로 작동했다.
오류를 해결하면서 느낀 점 & 배운 점
- document라는 객체가 무엇을 위해 존재하는지, document 객체에 대해서 조금 더 공부해야겠다고 느꼈고, 로컬 환경에서는 직접 만들어 넣지 않는 이상 document도 없고 window 객체도 없다는 것과 자바스크립트를 브라우저 바깥으로 끄집어내서 c나 c++, java 같은 범용 언어처럼 사용하는 게 nodejs라는 것을 배우게 되었다.
728x90
'error 해결' 카테고리의 다른 글
[VSCode] Create React App의 글로벌(전역) 설치를 더 이상 지원하지 않습니다 (0) | 2024.10.06 |
---|---|
[DBeaver error] dbeaver Error connecting to datasource (0) | 2022.07.27 |
[error] sh: react-scripts: command not found' (0) | 2022.07.14 |
[error] Could not find a required file. Name: index.html (0) | 2022.07.13 |
[error] TypeError: Cannot set properties of null (setting 'innerText') (0) | 2022.04.30 |