"use strict" là một directive (biểu thức chữ面值), giới thiệu trong JavaScript 1.8.5. Như tên gọi, nó chỉ định code sẽ chạy ở strict mode (chế độ nghiêm ngặt).
Để khai báo strict mode, thêm "use strict" ở đầu. Đối với global scope, đặt đầu script.
Ví dụ
<!DOCTYPE html>
<html>
<body>
<p>Lỗi sẽ xảy ra, vì dùng biến nhưng quên khai báo</p>
<p>Nhấn F12 xem lỗi.</p>
<script>
"use strict";
a = 1; // ReferenceError: a is not defined
</script>
</body>
</html>
Kết quả
ReferenceError: a is not defined
Lợi ích Strict Mode:
- Bắt lỗi gán giá trị cho biến chưa khai báo.
- Ngăn xóa thuộc tính không thể xóa.
- Cấm trùng tên tham số hàm.
- Cấm từ khóa dành dự trữ (implements, interface, v.v.).
thiskhông tự bind global (trong strict mode,thislàundefinedtrong hàm tự do).- Tối ưu hóa engine JS tốt hơn.
Lưu ý: Module ES6 (type="module") mặc định chạy strict mode.