1976s
이 블로그는 웹 개발, 프로그래밍, IT 활용법을 다루며, 실용적인 팁과 정보를 제공합니다.
# Side Menu
-
recentPost
-
popularPost
-
Archive
-
recentComment
공부/Javascript
자바스크립트 ReferenceError 정리
2023. 4. 12.,
ReferenceError : 참조 오류
JavaScript ReferenceError 객체는 현재 범위에서 존재하지 않거나 초기화되지 않은 변수를 참조했을 때 발생하는 에러를 나타냅니다. ReferenceError - JavaScript | MDN 참조; 몇 가지 예를 들어 설명하겠습니다.
✔️ ReferenceError: 'x' is not defined
존재하지 않는 변수를 참조하는 곳이 있습니다.
// 선언되지 않은 변수
console.log(num); // Uncaught ReferenceError: num is not defined
// 잘못된 스코프
(function () {
if(true) {
let a = 1; // let 블록({}) 레벨 스코프
}
console.log(a); // Uncaught ReferenceError: a is not defined
})();
'a
' 이 변수는 현재 scope에서 사용이 가능하도록 해야 합니다.
(function () {
if(true) {
var a = 1; // var 함수 레벨 스코프
}
console.log(a); // 1
})();
✔️ ReferenceError: Cannot access 'x' before initialization
(function () {
let y = y + 65;
})();
// Uncaught ReferenceError: Cannot access 'y' before initialization
변수가 초기화되기 전에 액세스가 되었습니다.
(function () {
let y = 0;
y = y + 65;
})(); // 65
✔️ReferenceError: assignment to undeclared variable 'x'
엄격 모드(strict mode)에서만 발생하는 ReferenceError 경고.
(function () {
"use strict";
y = true;
})();
선언되지 않은 변수로 값은 할당되었습니다.
(function () {
"use strict";
let y = true;
})();
Browser 테스트
112.0 | 112.0 | 112.0 | 13.1 | 97.0 | 3.19 |
마치며
ReferenceError을 시작하려고 MDN문서를 보다가 몇 개 있지 않아 놀랐습니다. 2개의 Error을 묶어 포스팅하려고 했지만 사용하면서 더 발견되는 것을 추가하려니 이렇게 1개의 포스팅으로 구분하는 것이 좋겠다 싶네요.
이상 ReferenceError의 정리한 포스팅입니다. 추후 발견되면 그때 추가 정리하겠습니다.
반응형