Chế độ strict của javascript là gì nhỉ ? Strict là nghiêm khắc, nghiêm ngặt, cũng có thể hiểu khi đặt chế độ này thì javascript không còn dễ tính nữa. 🙁
Tại sao phải đặt chế độ strict
ECMA-262 phiên bản 5 giới thiệu một biến thể nghiêm ngặt. Thường được gọi là chế độ strict, trong đó có cải tiến chức năng kiểm tra lỗi và bảo mật. Ví dụ, để chặn nguy cơ gõ nhầm tên biến. Việc khai báo biến bắt buộc phải sử dụng từ khóa var. Thêm vào đó, những thay đổi hàm và các khía cạnh khác cũng giúp chúng ta nâng cao chất lượng mã JavaScript.
Kích hoạt bằng cú pháp :
"use strict"
;
Chế độ strict có phạm vi cục bộ tại khối mà nó được sử dụng. Vì thế bạn có thể kích hoạt toàn cục bằng cách đặt dòng use strict ở đầu đoạn mã JavaScript hoặc bạn có thể kích hoạt nó trong một hàm, bằng cách đặt dòng use strict trong chính hàm đó ví dụ như:
function ham() { "use strict"; //Đoạn mã của hàm được đặt ở đây. }
Chúng ta sẽ tìm hiểu về hàm (function) sau nhé.
Một cải tiến khác trong chế độ strict có thể bắt được lỗi đánh máy là tính năng ngăn chặn các biến chưa được khai báo. Tất cả các biến trong cần được khởi tạo trước khi sử dụng. Ví dụ như câu lệnh dưới đây:
"use strict"; x = 4; // Tạo ra lỗi cú phápĐoạn mã này sẽ gây lỗi vì biến x vẫn chưa được khai báo trước với từ khóa var, như dưới đây: "use strict"; var x = 4; // Cú pháp này là đúng.
Chế độ strict cũng ngăn chặn việc trùng tên biến trong một đối tượng hoặc một lời gọi hàm:
"use strict"; var myObject ={ testVar: 1, testVar: 2 };
Đoạn mã trên sẽ gây ra lỗi ở chế độ strict vì biến testVar được thiết lập hai lần trong đoạn mã định nghĩa đối tượng.
BÀI TẬP:
1. Câu lệnh JavaScript nào dưới đây hợp lệ?
a. if (var == 4) { // Viết mã ở đây } b. var testVar = 10; c. if (a == b) { // Viết mã ở đây } d. testVar = 10; e. var case = “Yes”;
2 Bạn bắt buộc phải dùng dấu chấm phẩy để kết thúc toàn bộ các câu lệnh JavaScript?
Theo mình nghĩ thì chúng ta chưa cần sử dụng chế độ này đâu. Mình chỉ giới thiệu qua để lỡ có gặp thì các bạn không bối rối 😀
Xem bài viết tiếp theo tại đây.
Để lại một bình luận