Mục lục
- Lỗi cú pháp
- Lỗi thời gian chạy
- lỗi logic
- 5 lỗi thường gặp trong JavaScript
- 1. Lỗi tham chiếu [Uncaught ReferenceError. sự kiện không được xác định]
- 2. Loại lỗi [TypeError[]]
- 3. Lỗi đánh giá [EvalError[]]
- 4. Phạm vi lỗi [Uncaught RangeError]
- 5. Lỗi URI
- Thử và bắt các khối
- Sự kết luận
Lỗi cú pháp
Lỗi này xảy ra khi lập trình viên sử dụng sai cú pháp đã được xác định trước. Lỗi cú pháp hoặc lỗi phân tích cú pháp là những lỗi xảy ra tại thời điểm biên dịch trong bất kỳ ngôn ngữ lập trình nào và tại thời điểm phiên dịch cho JavaScript. Trong JavaScript khi lỗi này xảy ra thì chỉ mã trong cùng một luồng có lỗi bị ảnh hưởng trong khi các mã còn lại trong các luồng khác được thực thi vì chúng không phụ thuộc vào luồng chứa lỗi cú pháp.
Ví dụ: một lỗi cú pháp được đưa ra do hàm thiếu dấu ngoặc đơn đóng
const ourFunc = [] =>{
console.log["hello world"]
// Missing ending } of the function
Lỗi thời gian chạy
Lỗi thời gian chạy, còn được gọi là ngoại lệ, luôn xảy ra sau khi biên dịch hoặc diễn giải i. e. trong quá trình thực hiện chương trình. Không giống như lỗi cú pháp, những lỗi này không chỉ ảnh hưởng đến chuỗi nơi xảy ra lỗi mà còn ảnh hưởng đến các câu lệnh khác trong mã dẫn đến việc ứng dụng đã thực thi bị chấm dứt đột ngột hoặc bị treo. Người ta có thể sử dụng các khối thử bắt để xử lý các lỗi thời gian chạy. Phần lớn các lỗi như TypeError, RangeError và các lỗi khác mà chúng ta sẽ thảo luận thêm, đều thuộc lỗi thời gian chạy
lỗi logic
Trong ba lỗi, lỗi logic là khó tìm nhất. Những lỗi này không phải là kết quả của lỗi cú pháp hoặc lỗi thời gian chạy nhưng chúng xảy ra khi lập trình viên mắc lỗi logic mà mã hoạt động trên đó. Do lỗi này, kết quả mong muốn không đạt được. Người ta không thể sử dụng các khối try-catch để tìm ra những lỗi này vì tất cả phụ thuộc vào kỹ năng suy luận của lập trình viên và loại logic mà họ đã viết.
5 lỗi thường gặp trong JavaScript
Bây giờ chúng ta đã hiểu các loại lỗi khác nhau và cách giải quyết chúng, sau đây là 5 lỗi phổ biến nhất xảy ra trong JavaScript
1. Lỗi tham chiếu [Uncaught ReferenceError. sự kiện không được xác định]
Khi một người sử dụng tham chiếu biến không thể tìm thấy, không được khai báo hoặc nằm ngoài phạm vi hiện tại được sử dụng khi bạn nhận được lỗi tham chiếu. Bạn có thể dễ dàng tìm thấy dòng mã mà bạn đã mắc phải lỗi này bằng cách sử dụng dấu nhắc lệnh.
______1
2. Loại lỗi [TypeError[]]
Người ta có thể gặp lỗi loại vì nhiều lý do như sử dụng hàm không xác định hoặc khi có thuộc tính độ dài đọc cho biến không xác định. Hãy hiểu các lý do khác nhau khiến xảy ra lỗi loại
- Khi một người cố gắng truy cập vào một biến không xác định thì bạn sẽ luôn nhận được thông báo lỗi trong dấu nhắc lệnh của mình với nội dung “Lỗi loại không bắt được. không thể đặt thuộc tính không xác định". Lỗi này chỉ xuất hiện khi bạn sử dụng biến không xác định.
______2
- Khi thuộc tính độ dài được sử dụng cho một biến không xác định thì “Lỗi loại không bắt được. không thể đọc thuộc tính 'độ dài' của không xác định" được ném trên bảng điều khiển. Người ta chỉ có thể tìm thấy độ dài của một biến hoặc mảng đã xác định. Nếu khai báo mảng hoặc biến mà không khởi tạo thì lập trình viên sẽ gặp lỗi này. Người ta có thể tránh lỗi này bằng cách khởi tạo biến đúng cách trước đó.
______3
- Khi trình biên dịch đọc một thuộc tính hoặc gọi một phương thức trên một đối tượng null thì bạn nhận được “TypeError. 'null' không phải là một đối tượng" trong bảng điều khiển của bạn. Trong JavaScript, null và undefined là hai thứ riêng biệt, đây là lý do bạn thấy hai loại thông báo lỗi khác nhau. Không xác định có nghĩa là một biến đã được khai báo nhưng không được khởi tạo hoặc gán cho bất kỳ giá trị nào. Mặt khác, null có nghĩa là giá trị được gán cho biến trống.
______4
- Khi bạn gọi một phương thức không xác định, “TypeError. Đối tượng không hỗ trợ thuộc tính hoặc phương thức” bị ném. Đối với điều này, bạn phải xác định đúng chức năng trước khi gọi nó.
______5
3. Lỗi đánh giá [EvalError[]]
Công cụ JavaScript hiện tại hoặc đặc tả EcmaScript không gây ra lỗi này. Nhưng đối tượng EvalError vẫn tồn tại trong khả năng tương thích ngược. Lỗi này cho biết đã xảy ra lỗi liên quan đến hàm eval[] toàn cầu.
______6
4. Phạm vi lỗi [Uncaught RangeError]
Lỗi này xảy ra vì hai lý do khi bạn gọi một hàm đệ quy không kết thúc và cả khi bạn chuyển một giá trị cho một hàm nằm ngoài phạm vi. Chẳng hạn, hàm Số. toExponential[chữ số] chấp nhận các giá trị từ 0 đến 100, nếu một giá trị từ bên ngoài phạm vi đã chỉ định này được chuyển thì RangeError sẽ bị ném. Người ta chỉ có thể gỡ lỗi này bằng cách chuyển một giá trị nằm trong phạm vi giá trị dự kiến.
______7
5. Lỗi URI
Trong JavaScript, lỗi “URIError. chuỗi URI không đúng định dạng” được ném vào dấu nhắc lệnh khi mã hóa hoặc giải mã URI đã cho không thành công. Điều này xảy ra khi đối số được chuyển đến decodeURI[], encodeURI[], encodeURIComponent[] hoặc decodeURIComponent[] không hợp lệ hoặc đã sử dụng [các] ký tự không chính xác.
______8
Thử và bắt các khối
Khối thử và bắt là một trong những cách tốt nhất để xử lý lỗi trong JavaScript. Nó giúp xác định lỗi mà không làm hỏng ứng dụng của bạn. Người ta có thể sử dụng câu lệnh if-else nhưng try/catch mang lại nhiều lợi ích mà if-else không thể
Câu lệnh try giúp kiểm tra lỗi của một khối tập lệnh. Trong khi câu lệnh bắt giúp xử lý lỗi nếu có. Tất cả các đối tượng lỗi JavaScript đều có hai thuộc tính, tên của lỗi và thông báo lỗi thực tế cho biết chương trình có vấn đề gì. Ví dụ: Lỗi cú pháp. cái kết không ngờ. Ở đây cho đối tượng lỗi e, e. tên là SyntaxError và e. thông báo là Kết thúc đầu vào không mong đợi. Đây là cú pháp cho câu lệnh try and catch.
______9
Ngoài các câu lệnh try and catch, còn có một câu lệnh ném giúp bạn hiển thị lỗi tùy chỉnh của mình. Lỗi này có thể là một đối tượng, chuỗi hoặc boolean. Nếu có lỗi, câu lệnh bắt sẽ hiển thị lỗi bạn đã ném. Đây là một ví dụ về cách bạn có thể sử dụng câu lệnh ném với các khối try/catch.
______10
Cuối cùng, có câu lệnh printme[];
1 a hoạt động như một điểm cơ bản hoặc điểm trung lập để bạn thử và bắt các khối. Bất kể điều gì xảy ra trong khối thử và bắt, mã trong câu lệnh
// undefined function is calledprintme[];
1 sẽ chạy. Đây là một ví dụ về cách bạn có thể sử dụng câu lệnh
// undefined function is calledprintme[];
1.
// undefined function is called
______14
Sự kết luận
Trong khi mã hóa bằng JavaScript, chắc chắn sẽ xảy ra lỗi. Đôi khi các chương trình gây ra lỗi trong khi các lập trình viên khác có thể gây ra lỗi. Là lập trình viên, chúng ta không nên nản lòng khi gặp lỗi mà hãy coi đó là bước đệm để trở thành một lập trình viên giỏi hơn.
Một trong những cách tốt nhất để kiểm tra lỗi là sử dụng các khối thử và bắt trong mã của bạn. Nó giúp tìm ra lỗi. Ngoài việc cố gắng nắm bắt, bạn cũng có thể sử dụng đối tượng lỗi tích hợp sẵn của JavaScript để cung cấp chi tiết lỗi khi xảy ra lỗi. Nó cung cấp tên cũng như thông báo về lỗi được đưa ra
Học lập trình trên codedamn
Codedamn là một nền tảng mã hóa tương tác với rất nhiều khóa học lập trình hấp dẫn có thể giúp bạn có được công việc viết mã đầu tiên của mình. Đây là cách
- Bước 1 - Tạo một tài khoản miễn phí
- Bước 2 - Duyệt qua các lộ trình có cấu trúc [đường dẫn học tập] hoặc xem tất cả các khóa học
- Bước 3 - Thực hành viết mã miễn phí trên các sân chơi lập trình
- Bước 4 - Nâng cấp lên tài khoản thành viên Pro để mở khóa tất cả các khóa học và nền tảng
Lập trình là một trong những công việc có nhu cầu cao nhất hiện nay. Học lập trình có thể thay đổi tương lai của bạn. Tất cả tốt nhất