ReferenceErrorReferenceError
Một tham chiếu đến biến không tồn tại trong phạm vi hiện tại.
Nguyên nhân gây ra lỗi này
Bạn cố dùng biến chưa được khai báo, không nằm trong phạm vi, hoặc bị truy cập trước khai báo (temporal dead zone). Điều này cũng có thể xảy ra do viết sai tên biến.
Cách sửa
Khai báo biến trước khi sử dụng bằng let, const, hoặc var. Kiểm tra lỗi đánh máy trong tên biến. Đảm bảo biến nằm trong phạm vi nơi bạn truy cập. Import các module còn thiếu.
Ví dụ
console.log(undeclaredVar); // ReferenceError: undeclaredVar is not definedMã lỗi liên quan
InternalError: too much recursionInternalError: too much recursion
Lỗi đặc thù của Firefox, tương đương RangeError: Maximum call stack size exceeded trong Chrome/Node.js.
EHOSTUNREACHEHOSTUNREACH
Host đích không thể truy cập được, thường do sự cố định tuyến mạng.
URIErrorURIError: URI malformed
Hàm xử lý URI toàn cục (decodeURIComponent, encodeURI) nhận URI không đúng định dạng.
SyntaxError: Applying delete to unqualified name in strict modeSyntaxError: Xóa tên không đủ điều kiện trong chế độ strict
Toán tử delete được dùng trên tên biến thuần trong strict mode, điều này không được phép.
SyntaxError: Unterminated string literalSyntaxError: Chuỗi ký tự chưa được đóng
Một chuỗi ký tự thiếu dấu đóng ngoặc.
SyntaxError: JSON.parse unexpected characterSyntaxError: JSON.parse gặp ký tự không mong đợi
JSON.parse() gặp cú pháp JSON không hợp lệ, chẳng hạn nháy đơn, dấu phẩy thừa cuối, hoặc khóa không được trích dẫn.