31. Use strict mode trong lập trình javascript

“Use strict” mode (chế độ nghiêm ngặt) là một tính năng trong lập trình JavaScript giúp bạn viết mã chương trình theo một tập hợp nghiêm ngặt hơn các quy tắc và giới hạn của ngôn ngữ. Khi bật “use strict” mode, các lỗi nguy hiểm và tính năng không an toàn trong JavaScript sẽ bị cản trở hoặc thông báo lỗi, giúp bạn viết mã chính xác hơn, dễ đọc hơn và tránh các lỗi thường gặp.

Để bật “use strict” mode, bạn chỉ cần đặt chuỗi "use strict"; ở đầu tệp JavaScript hoặc ở đầu một hàm. Khi đó, chế độ nghiêm ngặt sẽ áp dụng cho toàn bộ tệp JavaScript hoặc chỉ cho phạm vi của hàm đó, tùy vào cách bạn đặt nó.

Ví dụ về sử dụng “use strict” mode:

javascript
"use strict";

// Chế độ nghiêm ngặt được áp dụng cho toàn bộ tệp JavaScript từ đây
// Mã JavaScript ở đây sẽ bị cản trở nếu vi phạm các quy tắc nghiêm ngặt

function calculateSum(a, b) {
  "use strict";

  // Chế độ nghiêm ngặt chỉ áp dụng cho hàm này
  // Mã JavaScript ở đây sẽ bị cản trở nếu vi phạm các quy tắc nghiêm ngặt

  return a + b;
}

// Cách viết bằng arrow function
const calculateSum = (a, b) => {
  "use strict";

  // Chế độ nghiêm ngặt chỉ áp dụng cho arrow function này
  // Mã JavaScript ở đây sẽ bị cản trở nếu vi phạm các quy tắc nghiêm ngặt

  return a + b;
};

Những điểm chính khi sử dụng “use strict” mode:

  1. Khai báo biến: Bắt buộc phải sử dụng từ khóa var, let, hoặc const để khai báo biến. Việc không khai báo biến sẽ bị cản trở.
  2. Các biến không được sử dụng trước khi được khai báo.
  3. Tham chiếu this trong hàm không được ràng buộc tới đối tượng toàn cục (window).
  4. Các tên biến có từ khóa đã bị dành (reserved keyword) không được sử dụng làm tên biến.
  5. Các lỗi về phạm vi (scope) và delete không an toàn.

“Use strict” mode là một công cụ hữu ích giúp bạn viết mã JavaScript chính xác và bảo mật hơn. Nó được khuyến nghị để sử dụng trong các dự án mới và cũng có thể được thêm vào các dự án đã tồn tại để cải thiện chất lượng mã.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top