Chế độ nghiêm ngặt (Strict Mode) là một tính năng được giới thiệu trong ES5, cho phép bạn đặt một chương trình hoặc một hàm vào "chế độ nghiêm ngặt".
Đặc điểm của Strict Mode
Bối cảnh nghiêm ngặt này ngăn chặn một số hành động và ném ra nhiều ngoại lệ hơn (thường cung cấp thêm thông tin cho người dùng). Các đặc điểm cụ thể bao gồm:
- Biến chưa khai báo nhưng được gán trực tiếp sẽ thất bại: Việc gán
foo = "bar"khi 'foo' chưa được định nghĩa sẽ báo lỗi. - Không thể sử dụng
evaltrong strict mode: Hàmeval()bị hạn chế. - Không thể gán lại mảng
argumentsbên trong hàm: Việc thay đổi tham số quaargumentsbị cấm. - Không cho phép sử dụng câu lệnh
with: Cú phápwithkhông được hỗ trợ.
Cách kích hoạt Strict Mode
Để bật strict mode cho toàn bộ script, thêm dòng sau ở đầu file:
"use strict";
Nếu chỉ muốn áp dụng cho một hàm cụ thể, đặt nó bên trong hàm đó:
function strictFunc() {
"use strict";
// phần còn lại của hàm
}
Lợi ích: Strict mode giúp viết code an toàn hơn, dễ debug hơn, và tối ưu hiệu năng nhờ trình duyệt không cần xử lý các trường hợp ngoại lệ lạ.