본문 바로가기

자바스크립트 독학

(8)
Cannot access before initialization 오류(TDZ) 해결하기 Cannot access before initialization 오류(TDZ) 해결하기자바스크립트를 실행하다가 ReferenceError: Cannot access '변수명' before initialization이라는 오류를 만날 때가 있습니다. 분명 아래쪽에 변수를 선언해 두었는데 왜 “초기화 전에 접근했다”고 나오는지 처음에는 이해하기 어려운데요. Cannot access before initialization 오류를 이해하려면 let과 const, 그리고 TDZ(Temporal Dead Zone) 개념을 알아두는 것이 중요합니다. 단순히 변수 선언을 위로 옮우는 방법뿐 아니라 왜 이런 오류가 발생하는지 원리부터 차근차근 살펴보겠습니다. Cannot access before initializati..
JSON.parse SyntaxError 원인과 해결 방법 총정리 JSON.parse SyntaxError 원인과 해결 방법 총정리자바스크립트에서 JSON.parse()를 사용하다 보면 SyntaxError와 함께 Unexpected token, Unexpected end of JSON input 같은 메시지가 나타날 때가 있습니다. 코드 자체에는 별다른 문제가 없어 보이는데 오류가 발생한다면 무엇부터 확인해야 할지 막막할 수 있는데요. JSON.parse SyntaxError는 대부분 변환하려는 문자열이 올바른 JSON 형식이 아닐 때 발생합니다. JSON.parse가 무엇을 하는 함수인지부터 따옴표, 쉼표, 빈 응답, API 데이터 등 자주 문제가 되는 원인과 해결 방법까지 차근차근 알아보겠습니다. JSON.parse란? 먼저 역할부터 이해하기JSON.parse(..
Cannot use import statement outside a module 에러 해결 Cannot use import statement outside a module 에러 해결자바스크립트에서 import를 사용했는데 갑자기 SyntaxError: Cannot use import statement outside a module이라는 오류가 나타날 때가 있습니다. 분명 다른 예제에서는 정상적으로 사용하는 문법인데 내 코드에서는 왜 안 되는지 헷갈리기 쉬운데요. 이 오류의 핵심은 현재 자바스크립트 파일이 ES Module로 인식되지 않고 있다는 것입니다. 브라우저와 Node.js에서는 해결 방법이 조금 다르기 때문에 현재 어떤 환경에서 코드를 실행하는지부터 확인해야 합니다. 원인부터 상황별 해결법까지 차근차근 알아보겠습니다. Cannot use import statement outside a..
Identifier has already been declared, 뜻부터 해결법까지 Identifier has already been declared, 뜻부터 해결법까지자바스크립트 코드를 실행했는데 SyntaxError: Identifier 'name' has already been declared 같은 메시지가 나타날 때가 있습니다. 분명 평소처럼 변수를 선언했을 뿐인데 갑자기 코드가 실행되지 않으면 어떤 부분부터 확인해야 할지 헷갈릴 수 있는데요. Identifier has already been declared는 쉽게 말해 “같은 이름을 이미 선언했는데 또 선언했다”는 의미입니다. 이번 글에서는 identifier가 무엇인지부터 중복 선언이 발생하는 대표적인 원인, 재선언과 재할당의 차이, 빠르게 해결하는 순서까지 알아보겠습니다. Identifier has already been..
Unexpected end of input 오류 쉽게 해결하는 방법 Unexpected end of input 오류 쉽게 해결하는 방법자바스크립트 코드를 실행했는데 갑자기 SyntaxError: Unexpected end of input이라는 메시지가 나타나면 무엇을 잘못했는지 찾기 어려울 수 있습니다. 코딩을 처음 배우는 단계라면 오류가 표시된 마지막 줄만 계속 수정하다가 시간을 보내기도 하는데요. 사실 Unexpected end of input 오류는 의미를 알면 확인해야 할 곳이 비교적 명확합니다. 대부분 괄호나 따옴표처럼 반드시 닫아야 하는 문법 요소를 끝까지 닫지 않았을 때 발생하기 때문입니다. 어떤 뜻인지부터 자주 발생하는 원인과 해결 순서까지 쉽게 알아보겠습니다. Unexpected end of input 뜻은?Unexpected end of input을 ..
SyntaxError: Unexpected token, 오류 뜻부터 해결 방법까지 한 번에 SyntaxError: Unexpected token, 오류 뜻부터 해결 방법까지 한 번에자바스크립트 코드를 작성하다 보면 콘솔에 SyntaxError: Unexpected token이라는 메시지가 나타날 때가 있습니다. 코드가 길어질수록 어디가 잘못됐는지 한눈에 찾기 어려워 답답하게 느껴질 수 있는데요. 하지만 이 오류는 대부분 자바스크립트 문법 규칙에 맞지 않는 문자나 기호가 들어갔을 때 발생합니다. 오늘은 SyntaxError: Unexpected token의 정확한 뜻부터 가장 흔한 발생 원인, 빠르게 해결하는 디버깅 순서까지 한 번에 정리해보겠습니다. SyntaxError: Unexpected token이란?SyntaxError는 자바스크립트 엔진이 코드를 해석하는 과정에서 문법적으로 이해할 ..
TypeError: is not a function, 오류가 발생하는 이유와 해결 순서 TypeError: is not a function, 오류가 발생하는 이유와 해결 순서자바스크립트 개발 중 TypeError: xxx is not a function이라는 오류를 만나면 분명 함수처럼 작성했는데 왜 실행되지 않는지 당황하기 쉽습니다. 라이브러리, 객체 메서드, import/export, 비동기 코드를 다루다 보면 비교적 자주 접하게 되는 오류인데요. 다행히 TypeError: is not a function 오류가 발생하는 이유는 비교적 명확합니다. 어떤 값을 함수처럼 호출했지만 실행 시점에 그 값이 실제 함수가 아니었다는 뜻입니다. 의미부터 주요 원인, 가장 빠르게 문제를 찾는 해결 순서까지 자세히 알아보겠습니다. TypeError: is not a function이란?자바스크립트에서..
Cannot read properties of undefined 오류 해결법, 원인 10가지 Cannot read properties of undefined 오류 해결법, 원인 10가지자바스크립트로 개발하다가 콘솔에 Cannot read properties of undefined라는 빨간 오류가 나타나면 어디서부터 확인해야 할지 난감할 수 있습니다. reading 'length', reading 'map', reading 'name'처럼 뒤에 특정 속성명이 붙어 나타나는 경우가 많은데요.이 오류는 원리만 이해하면 의외로 해결하기 어렵지 않습니다. Cannot read properties of undefined 오류 해결법과 실무에서 자주 만나는 원인 10가지를 예제와 함께 자세히 알아보겠습니다. Cannot read properties of undefined란?이 메시지는 자바스크립트의 Typ..