Thiết lập chế độ nghiêm ngặt (Strict Mode) trong việc viết mã lệnh JavaScript
Chế độ nghiêm ngặt (Strict Mode) trong JavaScript là một cách để thực thi mã với các quy tắc nghiêm ngặt hơn, giúp bạn phát hiện lỗi và đảm bảo mã của bạn an toàn hơn và dễ bảo trì hơn. Khi bật chế độ nghiêm ngặt, JavaScript sẽ áp dụng các quy tắc nghiêm ngặt hơn về cú pháp và hành vi của mã, giúp bạn tránh những lỗi phổ biến và các vấn đề về bảo mật.
Cách Bật Chế Độ Nghiêm Ngặt#
Bạn có thể bật chế độ nghiêm ngặt trong JavaScript bằng cách thêm "use strict"; vào đầu của tệp hoặc khối mã.
1. Toàn Cục
Để bật chế độ nghiêm ngặt cho toàn bộ tệp JavaScript, chỉ cần đặt "use strict"; ở đầu tệp:
` "use strict";
let x = 10; console.log(x); `
2. Đối Tượng
Bạn cũng có thể bật chế độ nghiêm ngặt cho các khối mã riêng lẻ bằng cách đặt "use strict"; ở đầu khối mã:
` function myFunction() { "use strict"; let y = 20; console.log(y); }
myFunction(); `
Quy Tắc Và Hạn Chế Trong Chế Độ Nghiêm Ngặt#
Dưới đây là một số quy tắc và hạn chế khi sử dụng chế độ nghiêm ngặt:
1. Không Được Sử Dụng Các Biến Chưa Khai Báo
Chế độ nghiêm ngặt yêu cầu bạn phải khai báo biến trước khi sử dụng. Việc sử dụng biến mà chưa khai báo sẽ gây lỗi.
"use strict"; x = 5; // ReferenceError: x is not defined
2. Không Được Xóa Các Biến, Hàm Hoặc Đối Tượng
Chế độ nghiêm ngặt cấm việc sử dụng delete với các biến, hàm, hoặc các thuộc tính của đối tượng.
"use strict"; delete Object.prototype; // TypeError: Cannot delete property 'prototype' of object
3. Không Được Sử Dụng Từ Khóa Dự Đoán
Một số từ khóa là từ khóa dự đoán và không thể sử dụng làm tên biến hoặc hàm trong chế độ nghiêm ngặt.
"use strict"; let eval = 10; // SyntaxError: Unexpected eval or arguments in strict mode
4. Không Được Đặt Các Tham Số Trùng Tên
Trong chế độ nghiêm ngặt, các tham số của hàm không được trùng tên.
"use strict"; function sum(a, a) { // SyntaxError: Duplicate parameter name not allowed in this context return a + a; }
5. Chế Độ Nghiêm Ngặt Trong Các Hàm
Khi chế độ nghiêm ngặt được bật trong một hàm, chỉ mã trong hàm đó bị ảnh hưởng, không ảnh hưởng đến mã bên ngoài.
` function testStrict() { "use strict"; let z = 30; console.log(z); }
testStrict(); console.log(z); // ReferenceError: z is not defined `
6. Không Được Thay Đổi Các Thuộc Tính Không Thay Đổi
Chế độ nghiêm ngặt cấm thay đổi các thuộc tính không thay đổi hoặc không thể xóa của đối tượng.
"use strict"; Object.defineProperty({}, 'prop', { value: 1, writable: false }); prop = 2; // TypeError: Cannot assign to read only property 'prop'
Lợi Ích Của Chế Độ Nghiêm Ngặt#
Phát Hiện Lỗi Sớm: Phát hiện các lỗi và vấn đề trong mã sớm hơn, giúp việc gỡ lỗi trở nên dễ dàng hơn.
Bảo Mật Cao Hơn: Giảm nguy cơ lỗi bảo mật bằng cách ngăn chặn các hành vi không an toàn.
Mã Sạch Hơn: Khuyến khích viết mã sạch và có cấu trúc hơn bằng cách áp dụng các quy tắc nghiêm ngặt hơn.
Tóm Tắt#
Bật Chế Độ Nghiêm Ngặt: Sử dụng
"use strict";ở đầu tệp hoặc khối mã.Quy Tắc Nghiêm Ngặt: Cấm khai báo biến chưa được khai báo, xóa các biến hoặc thuộc tính, sử dụng từ khóa dự đoán, tham số trùng tên, thay đổi thuộc tính không thay đổi.
Lợi Ích: Giúp phát hiện lỗi sớm, bảo mật cao hơn, mã sạch hơn.
Chế độ nghiêm ngặt là một công cụ mạnh mẽ để đảm bảo rằng mã JavaScript của bạn tuân thủ các quy tắc và tiêu chuẩn tốt nhất.
Bài liên quan trong # JavaScript
-
Cách tạo thông báo (notification) từ trình duyệt
minhdev -
Hàm javascript show thời gian hiện tại và có đếm giây
minhu -
Hàm chuyển tiêu đề tiếng việt thành URL bằng java script
minhu -
Ứng dụng ESLint để phát hiện lỗi và tối ưu hoá source code JavaScript trên VS
minhdev -
Hàm javascript load số tăng dần đẹp mắt như google analytics
minhu