JavaScript 에러
JavaScript 에러의 100개 에러 코드를 원인, 수정 방법, 예제와 함께 둘러보세요.
TypeErrorTypeError
값이 예상된 타입이 아닙니다. 연산이 잘못된 타입의 값을 만날 때 발생하는 가장 일반적인 JavaScript 오류입니다.
TypeError: x is not a functionTypeError: x is not a function
함수가 아닌 값을 함수로 호출하려 했습니다.
TypeError: Cannot read properties of undefined/nullTypeError: Cannot read properties of undefined/null
undefined 또는 null의 속성이나 메서드에 접근하려고 했습니다.
TypeError: Cannot set properties of undefined/nullTypeError: undefined/null의 속성을 설정할 수 없음
undefined 또는 null에 속성을 설정하려는 시도가 발생했습니다.
TypeError: x is not iterableTypeError: x는 이터러블이 아님
for...of 루프나 스프레드 연산자처럼 이터러블이 필요한 곳에 이터러블이 아닌 값이 사용되었습니다.
TypeError: x is not a constructorTypeError: x는 생성자가 아님
생성자가 아닌 값에 new 키워드를 사용하려는 시도가 발생했습니다.
TypeError: Assignment to constant variableTypeError: 상수 변수에 할당
const로 선언된 변수에 재할당을 시도했습니다.
TypeError: Cannot convert undefined or null to objectTypeError: undefined 또는 null을 객체로 변환할 수 없음
객체를 기대하는 내장 메서드가 null 또는 undefined를 받았습니다.
TypeError: Reduce of empty array with no initial valueTypeError: 초기값 없이 빈 배열에서 Reduce 호출
초기값을 제공하지 않고 빈 배열에 Array.reduce()를 호출했습니다.
TypeError: Cannot assign to read only propertyTypeError: 읽기 전용 속성에 할당할 수 없음
객체가 동결되었거나 속성이 쓰기 불가로 정의되어 있어 읽기 전용인 속성에 쓰기를 시도했습니다.
ReferenceErrorReferenceError
현재 스코프에 존재하지 않는 변수를 참조했습니다.
ReferenceError: x is not definedReferenceError: x가 정의되지 않았습니다
접근 가능한 어떤 스코프에도 선언되지 않은 변수를 참조했습니다.
ReferenceError: Cannot access before initializationReferenceError: 초기화 이전에 접근 불가
let 또는 const로 선언된 변수가 일시적 사각지대에서 선언 이전에 접근되었습니다.
ReferenceError: Invalid left-hand side in assignmentReferenceError: 할당의 좌변이 유효하지 않음
할당할 수 없는 대상에 할당을 시도했습니다.
SyntaxErrorSyntaxError
JavaScript 엔진이 언어 구문에 맞지 않는 코드를 만났습니다.
SyntaxError: Unexpected tokenSyntaxError: Unexpected token
파서가 코드의 해당 위치에서 예상하지 못한 토큰(문자 또는 키워드)을 만났습니다.
SyntaxError: Unexpected end of inputSyntaxError: 예상치 못한 입력 끝
일반적으로 닫히지 않은 괄호나 문자열로 인해 파서가 더 많은 코드를 기대하는 상태에서 입력의 끝에 도달했습니다.
SyntaxError: JSON.parse unexpected characterSyntaxError: JSON.parse 예상치 못한 문자
JSON.parse()가 작은따옴표, 후행 쉼표, 따옴표 없는 키와 같이 잘못된 JSON 구문을 만났습니다.
SyntaxError: Missing ) after argument listSyntaxError: 인수 목록 뒤에 ) 누락
함수 호출에 닫는 괄호가 없습니다.
SyntaxError: Unterminated string literalSyntaxError: 종료되지 않은 문자열 리터럴
문자열 리터럴에 닫는 따옴표가 없습니다.
SyntaxError: Illegal return statementSyntaxError: 잘못된 return 문
return 문이 함수 본문 외부에서 사용되었습니다.
SyntaxError: Identifier has already been declaredSyntaxError: 이미 선언된 식별자
같은 스코프에서 let 또는 const로 동일한 이름의 변수가 두 번 선언되었습니다.
SyntaxError: Cannot use import statement outside a moduleSyntaxError: 모듈 외부에서 import 문을 사용할 수 없음
모듈로 처리되지 않는 파일에서 ES 모듈 import 구문을 사용했습니다.
SyntaxError: await is only valid in async functionsSyntaxError: await는 async 함수 내에서만 유효함
await 키워드가 async 함수 외부에서 사용되었습니다.
- RangeError
- RangeError: 최대 콜 스택 크기 초과
- RangeError: 유효하지 않은 배열 길이
- RangeError: 유효하지 않은 날짜
- RangeError: precision이 범위를 벗어남
- URIError: URI 형식 오류
- EvalError
- InternalError: 재귀 과다
- AggregateError
- UnhandledPromiseRejection
- DOMException: 작업이 중단됨
- DOMException: NetworkError
- DOMException: QuotaExceededError
- DOMException: SecurityError
- DOMException: NotAllowedError
- CORS 오류: Access-Control-Allow-Origin 없음
- CORS 오류: Preflight 요청 실패
- ECONNREFUSED
- ECONNRESET
- EADDRINUSE
- ENOTFOUND
- ETIMEDOUT
- ENOENT: No such file or directory
- EACCES: Permission denied
- EPERM: Operation not permitted
- EMFILE: Too many open files
- ENFILE: Too many open files in system
- EISDIR: Is a directory
- ENOTDIR: 디렉터리가 아님
- EEXIST: 파일이 이미 존재함
- EPIPE: 파이프 끊김
- ENOSPC: 장치에 남은 공간 없음
- ERR_HTTP_HEADERS_SENT
- ERR_MODULE_NOT_FOUND
- ERR_REQUIRE_ESM
- ERR_INVALID_ARG_TYPE
- ERR_INVALID_URL
- ERR_SOCKET_BAD_PORT
- ERR_TLS_CERT_ALTNAME_INVALID
- ERR_BUFFER_OUT_OF_BOUNDS
- ERR_STREAM_PREMATURE_CLOSE
- ERR_WORKER_OUT_OF_MEMORY
- JavaScript heap out of memory
- ERR_MISSING_ARGS
- ERR_UNESCAPED_CHARACTERS
- ERR_UNKNOWN_ENCODING
- ERR_CRYPTO_INVALID_STATE
- ERR_DLOPEN_FAILED
- ERR_OSSL_EVP_UNSUPPORTED
- ERR_SERVER_ALREADY_LISTEN
- ERR_FS_CP_DIR_TO_NON_DIR
- Error: Cannot find module
- ECONNABORTED
- EHOSTUNREACH
- ENETUNREACH
- ERR_ASSERTION
- TypeError: 순환 구조를 JSON으로 변환할 수 없음
- TypeError: 호환되지 않는 수신자에서 메서드 호출됨
- TypeError: 객체의 프로퍼티를 삭제할 수 없음
- TypeError: Symbol 값을 문자열로 변환할 수 없음
- TypeError: 프로퍼티를 추가할 수 없음, 객체가 확장 불가능
- SyntaxError: strict 모드에서 한정되지 않은 이름 삭제
- SyntaxError: const 선언에 초기값 없음
- SyntaxError: JSON.parse: bad parsing(잘못된 구문 분석)
- ERR_STREAM_WRITE_AFTER_END
- ERR_HTTP2_STREAM_ERROR
- ERR_CHILD_PROCESS_STDIO_MAXBUFFER
- ERR_INVALID_RETURN_VALUE
- ERR_UNHANDLED_REJECTION
- ERR_ASYNC_CALLBACK
- ERR_PACKAGE_PATH_NOT_EXPORTED
- ERR_IMPORT_ASSERTION_TYPE_FAILED
- ERR_NETWORK_IMPORT_DISALLOWED
- ERR_INSPECTOR_ALREADY_ACTIVATED
- DOMException: InvalidStateError
- DOMException: DataCloneError