TypeErrorTypeError
값이 예상된 타입이 아닙니다. 연산이 잘못된 타입의 값을 만날 때 발생하는 가장 일반적인 JavaScript 오류입니다.
JavaScript 에러의 100개 에러 코드를 원인, 수정 방법, 예제와 함께 둘러보세요.
TypeError값이 예상된 타입이 아닙니다. 연산이 잘못된 타입의 값을 만날 때 발생하는 가장 일반적인 JavaScript 오류입니다.
TypeError: x is not a function함수가 아닌 값을 함수로 호출하려 했습니다.
TypeError: Cannot read properties of undefined/nullundefined 또는 null의 속성이나 메서드에 접근하려고 했습니다.
TypeError: Cannot set properties of undefined/nullundefined 또는 null에 속성을 설정하려는 시도가 발생했습니다.
TypeError: x is not iterablefor...of 루프나 스프레드 연산자처럼 이터러블이 필요한 곳에 이터러블이 아닌 값이 사용되었습니다.
TypeError: x is not a constructor생성자가 아닌 값에 new 키워드를 사용하려는 시도가 발생했습니다.
TypeError: Assignment to constant variableconst로 선언된 변수에 재할당을 시도했습니다.
TypeError: Cannot convert undefined or null to object객체를 기대하는 내장 메서드가 null 또는 undefined를 받았습니다.
TypeError: Reduce of empty array with no initial value초기값을 제공하지 않고 빈 배열에 Array.reduce()를 호출했습니다.
TypeError: Cannot assign to read only property객체가 동결되었거나 속성이 쓰기 불가로 정의되어 있어 읽기 전용인 속성에 쓰기를 시도했습니다.
ReferenceError현재 스코프에 존재하지 않는 변수를 참조했습니다.
ReferenceError: x is not defined접근 가능한 어떤 스코프에도 선언되지 않은 변수를 참조했습니다.
ReferenceError: Cannot access before initializationlet 또는 const로 선언된 변수가 일시적 사각지대에서 선언 이전에 접근되었습니다.
ReferenceError: Invalid left-hand side in assignment할당할 수 없는 대상에 할당을 시도했습니다.
SyntaxErrorJavaScript 엔진이 언어 구문에 맞지 않는 코드를 만났습니다.
SyntaxError: Unexpected token파서가 코드의 해당 위치에서 예상하지 못한 토큰(문자 또는 키워드)을 만났습니다.
SyntaxError: Unexpected end of input일반적으로 닫히지 않은 괄호나 문자열로 인해 파서가 더 많은 코드를 기대하는 상태에서 입력의 끝에 도달했습니다.
SyntaxError: JSON.parse unexpected characterJSON.parse()가 작은따옴표, 후행 쉼표, 따옴표 없는 키와 같이 잘못된 JSON 구문을 만났습니다.
SyntaxError: Missing ) after argument list함수 호출에 닫는 괄호가 없습니다.
SyntaxError: Unterminated string literal문자열 리터럴에 닫는 따옴표가 없습니다.
SyntaxError: Illegal return statementreturn 문이 함수 본문 외부에서 사용되었습니다.
SyntaxError: Identifier has already been declared같은 스코프에서 let 또는 const로 동일한 이름의 변수가 두 번 선언되었습니다.
SyntaxError: Cannot use import statement outside a module모듈로 처리되지 않는 파일에서 ES 모듈 import 구문을 사용했습니다.
SyntaxError: await is only valid in async functionsawait 키워드가 async 함수 외부에서 사용되었습니다.
RangeError유효하지 않은 배열 길이나 콜 스택 크기 초과 등, 값이 허용 범위를 벗어났습니다.
RangeError: Maximum call stack size exceededJavaScript 콜 스택이 소진되었습니다. 일반적으로 무한 재귀나 과도하게 깊은 재귀로 인해 발생합니다.
RangeError: Invalid array length음수나 정수가 아닌 값 등 유효하지 않은 길이로 배열이 생성되었습니다.
RangeError: Invalid date유효한 날짜를 요구하는 Date 메서드에 유효하지 않은 날짜 문자열이 전달되었습니다.
RangeError: precision is out of rangetoFixed(), toPrecision(), 또는 toExponential()에 전달된 정밀도 값이 허용 범위를 벗어났습니다.
URIError전역 URI 처리 함수(decodeURIComponent, encodeURI)가 형식이 잘못된 URI를 받았습니다.
EvalError전역 eval() 함수와 관련된 오류입니다. 현대 JavaScript에서는 거의 발생하지 않습니다.
InternalError: too much recursionChrome/Node.js의 RangeError: Maximum call stack size exceeded에 해당하는 Firefox 전용 오류입니다.
AggregateError여러 오류를 하나로 감싸는 오류로, 일반적으로 Promise.any()의 모든 프로미스가 거부될 때 발생합니다.
UnhandledPromiseRejectionPromise가 거부되었지만 거부를 처리할 .catch() 핸들러나 try-catch 블록이 없었습니다.
DOMException: The operation was abortedAbortController 신호를 통해 작업이 취소되었습니다.
DOMException: NetworkError네트워크 작업이 실패했습니다. 일반적으로 네트워크에 접근할 수 없을 때 fetch 요청 중에 발생합니다.
DOMException: QuotaExceededErrorlocalStorage, IndexedDB 또는 기타 브라우저 스토리지에서 사용 가능한 할당량을 초과한 저장 작업이 발생했습니다.
DOMException: SecurityError브라우저의 보안 정책에 의해 보안 민감 작업이 차단되었습니다.
DOMException: NotAllowedError사용자 상호작용이나 권한이 허용되지 않아 브라우저 API 호출이 차단되었습니다.
CORS Error: No Access-Control-Allow-Origin서버가 필요한 CORS 헤더를 포함하지 않아 브라우저가 크로스-오리진 요청을 차단했습니다.
CORS Error: Preflight request failed브라우저의 CORS 프리플라이트 OPTIONS 요청이 거부되었거나 잘못된 CORS 헤더가 반환되었습니다.
ECONNREFUSED대상 주소와 포트에서 수신 대기 중인 서버가 없어 연결이 거부되었습니다.
ECONNRESET원격 서버가 강제로 연결을 종료했습니다.
EADDRINUSE해당 주소(포트)가 이미 다른 프로세스에서 사용 중입니다.
ENOTFOUNDDNS 조회에 실패했습니다. 호스트명을 IP 주소로 변환할 수 없습니다.
ETIMEDOUT원격 호스트가 제때 응답하지 않아 연결 또는 작업이 시간 초과되었습니다.
ENOENT지정한 경로에 파일 또는 디렉토리가 존재하지 않습니다.
EACCES프로세스가 파일이나 리소스에 접근할 권한이 없습니다.
EPERM적절한 권한이 있더라도 OS 수준의 제한으로 인해 작업이 허용되지 않습니다.
EMFILE프로세스가 허용된 최대 열린 파일 디스크립터 수에 도달했습니다.
ENFILE시스템 전체에서 열 수 있는 파일의 총 한도에 도달했습니다.
EISDIR디렉토리인 경로에 파일 작업을 시도했습니다.
ENOTDIR디렉터리가 아닌 경로에 대해 디렉터리 작업이 시도되었습니다.
EEXIST대상 경로가 이미 존재하여 파일 생성 작업이 실패했습니다.
EPIPE읽기 쪽이 닫힌 파이프 또는 소켓에 쓰기가 시도되었습니다.
ENOSPC디스크가 가득 찼거나 inode 테이블이 소진되었습니다.
ERR_HTTP_HEADERS_SENTHTTP 응답이 이미 전송된 후에 헤더를 설정하거나 응답을 보내려는 시도가 있었습니다.
ERR_MODULE_NOT_FOUND지정한 파일이 존재하지 않아 ES 모듈 import를 해석할 수 없었습니다.
ERR_REQUIRE_ESMES 모듈을 로드하기 위해 require()가 사용되었으나 이는 허용되지 않습니다.
ERR_INVALID_ARG_TYPENode.js API에 잘못된 타입의 인수가 전달되었습니다.
ERR_INVALID_URLURL 생성자 또는 Node.js API에 유효하지 않은 URL이 전달되었습니다.
ERR_SOCKET_BAD_PORT네트워크 작업에 유효하지 않은 포트 번호가 지정되었습니다.
ERR_TLS_CERT_ALTNAME_INVALID호스트명이 서버의 TLS 인증서에 있는 Subject Alternative Name(SAN) 중 어느 것과도 일치하지 않습니다.
ERR_BUFFER_OUT_OF_BOUNDSBuffer의 범위를 벗어나 읽거나 쓰려는 시도가 있었습니다.
ERR_STREAM_PREMATURE_CLOSE스트림이 모든 데이터의 읽기 또는 쓰기를 완료하기 전에 닫혔습니다.
ERR_WORKER_OUT_OF_MEMORYWorker 스레드의 메모리가 부족해졌습니다.
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memoryV8 엔진의 힙 메모리가 소진되어 Node.js 프로세스가 비정상 종료되었습니다.
ERR_MISSING_ARGSNode.js API 함수에 필수 인수가 전달되지 않았습니다.
ERR_UNESCAPED_CHARACTERS이스케이프된 문자열이 필요한 곳에 이스케이프되지 않은 문자가 포함된 문자열이 전달되었습니다.
ERR_UNKNOWN_ENCODINGNode.js API에 알 수 없거나 지원하지 않는 인코딩이 전달되었습니다.
ERR_CRYPTO_INVALID_STATE암호화 작업이 유효하지 않은 상태에서 수행되었습니다.
ERR_DLOPEN_FAILED네이티브 애드온(C++ .node 파일) 로드에 실패했습니다.
ERR_OSSL_EVP_UNSUPPORTEDOpenSSL 작업이 지원되지 않습니다. 주로 Node.js 17 이상이 레거시 알고리즘을 비활성화하는 OpenSSL 3.0을 사용하기 때문입니다.
ERR_SERVER_ALREADY_LISTEN서버가 이미 수신 중인 상태에서 server.listen() 메서드가 호출되었습니다.
ERR_FS_CP_DIR_TO_NON_DIR디렉터리를 비디렉터리 대상으로 복사하려는 시도가 있었습니다.
Error: Cannot find moduleNode.js가 검색된 경로 어디에서도 지정된 모듈을 찾을 수 없었습니다.
ECONNABORTED연결이 중단되었습니다. 일반적으로 클라이언트 측 타임아웃으로 인해 발생합니다.
EHOSTUNREACH대상 호스트에 도달할 수 없습니다. 일반적으로 네트워크 라우팅 문제로 인해 발생합니다.
ENETUNREACH네트워크에 접근할 수 없습니다. 대상 네트워크로의 경로를 찾을 수 없습니다.
ERR_ASSERTIONNode.js assert 모듈의 단언이 실패했습니다.
TypeError: Converting circular structure to JSONJSON.stringify()가 직렬화할 수 없는 순환 참조를 포함한 객체를 만났습니다.
TypeError: Method called on incompatible receiver메서드가 예상된 타입이 아닌 `this` 값으로 호출되었습니다.
TypeError: Cannot delete property of objectstrict 모드에서 객체의 non-configurable 프로퍼티를 삭제하려고 시도했습니다.
TypeError: Cannot convert a Symbol value to a stringSymbol을 문자열로 암묵적으로 변환하려는 시도가 있었으나 이는 허용되지 않습니다.
TypeError: Cannot add property, object is not extensible확장 불가능하게 설정된 객체에 프로퍼티를 추가하려는 시도가 있었습니다.
SyntaxError: Applying delete to unqualified name in strict modestrict 모드에서 일반 변수 이름에 delete 연산자를 사용했습니다. 이는 허용되지 않습니다.
SyntaxError: Missing initializer in const declarationconst 변수가 초기값 없이 선언되었습니다.
SyntaxError: JSON.parse: bad parsingJSON.parse()에 유효하지 않은 JSON이 전달될 때 Firefox가 출력하는 오류 메시지입니다.
ERR_STREAM_WRITE_AFTER_END스트림이 종료된 후 해당 스트림에 쓰기를 시도했습니다.
ERR_HTTP2_STREAM_ERRORHTTP/2 스트림에서 오류가 발생했습니다.
ERR_CHILD_PROCESS_STDIO_MAXBUFFER자식 프로세스가 maxBuffer 제한을 초과하는 출력을 생성했습니다.
ERR_INVALID_RETURN_VALUE함수가 예상치 못한 타입의 값을 반환했습니다.
ERR_UNHANDLED_REJECTIONNode.js가 처리되지 않은 Promise 거부 시 예외를 발생시키도록 구성되어 있으며, 그러한 거부가 감지되었습니다.
ERR_ASYNC_CALLBACK비동기 콜백이 필요한 곳에 함수가 아닌 값이 전달되었습니다.
ERR_PACKAGE_PATH_NOT_EXPORTED패키지의 exports 필드에 정의되지 않은 하위 경로를 임포트하려 했습니다.
ERR_IMPORT_ASSERTION_TYPE_FAILED임포트 단언에 지정된 타입이 실제 모듈 타입과 일치하지 않습니다.
ERR_NETWORK_IMPORT_DISALLOWED네트워크 임포트(HTTP/HTTPS)를 시도했지만 현재 Node.js 구성에서 허용되지 않습니다.
ERR_INSPECTOR_ALREADY_ACTIVATEDNode.js 인스펙터(디버거)가 두 번 이상 활성화되었습니다.
DOMException: InvalidStateError객체가 해당 작업을 수행하기에 유효하지 않은 상태에 있을 때 작업을 시도했습니다.
DOMException: DataCloneError구조적 복제 알고리즘을 사용해 객체를 복제할 수 없었습니다.