USE STRICT LÀ GÌ
Nếu như chúng ta là tín đồ hay làm việc trên những opensource javascript thì chắc chắn sẽ chẳng lạ gì với loại này nữa, nhưng các bạn đã phát âm về nó chưa? Nó có tác dụng gì? Hãy mình mày mò nhé!
1, Use strict là gì?
- Use strict dịch sang tiếng việt thì tức là sử dụng sự nghiêm ngặt. Lúc một đoạn lệnh được khai báo use strict thì toàn bộ các loại code ở bên dưới dòng khai báo use strict sẽ được cai quản một giải pháp nghiêm ngặt hơn về cú pháp.
Bạn đang xem: Use strict là gì
- Khi áp dụng use strict mode thì các dòng code trước đây chúng ta có thể chạy bình thường có thể sẽ không còn chạy được nữa.
VD:
-Không khai báo sử dụng chế độ strict mode.
for (i = 0; i "); }
Chạy Code
-Đoạn code trên vẫn vẫn chạy và chuyển động bình thường. Nhưng, hiện giờ mình sẽ khai báo sử dụng strict modexem tất cả chạy được không nhé!
"use strict"for (i = 0; i ");}
Chạy Code
-Ngay chớp nhoáng các bạn sẽ nhận được dòng log báo lỗi như sau:
index.html:12 Uncaught ReferenceError: i is not defined at index.html:12
2, những nghiêm ngặt của strict mode.
-Khi sử dụng strict mode bạn sẽ không thể làm được những điều sau nữa:Gán giá trị cho biến không được khai báo.
-Trong cơ chế thường bạn cũng có thể làm như này để gán giá trị mang đến một thay đổi chưa khai báo:
i = "học lập trình online tanhailonghotel.com.vn";alert(i);
Chạy Code
-Nhưng strict mode thì ko thể:
"use strict"i = "học thiết kế online tanhailonghotel.com.vn";alert(i);
Chạy Code
-Để khắc phục và hạn chế được điều bên trên thì bạn cần phải khai báo đổi thay với tự khóa var hoặc let.
"use strict"var i = "học thiết kế online tanhailonghotel.com.vn";// orlet i = "học xây dựng online tanhailonghotel.com.vn";alert(i);
Báo lỗi khi thực hiện delete.
- nếu như ở chính sách thường thì bạn cũng có thể xóa ngẫu nhiên một trang bị gì bằng từ khóadelete, tuy nhiên xóa được hay là không nó cũng không báo lỗi. Nhưng lại khi sử dụng chế độ strict mode thì những thứ quan yếu xóa được nó sẽ báo lỗi ngay.VD:
-Chế độ thường:
function getName (name) alert(name)delete getName;//không bao gồm gì xảy ra mặc dù delete không xóa//được hàm
Chạy Code
-Chế độ strict mode:
"use strict"function getName (name) alert(name)delete getName;//Uncaught SyntaxError: Delete of an unqualified //identifier in strict mode.
Chạy Code
Các tham số của hàm ko được trùng nhau
-Nếu như chính sách thường chúng ta có thể khai báo các tham số truyền vào hàm được phép trùng nhau thì bây giờ khi sử dụng cơ chế strict mode thì nó sẽ báo lỗi ngay lập tức.Xem thêm: Diện Mạo 5 Cửa Ô Hà Nội 5 Cửa Ô, Những Cửa Ô Hà Nội
VD:
-Chế độ thường:
function getName (name, name, age) //code//chạy bình thường.
Chạy Code
-Chế độ strict mode:
"use strict"function getName (name, name, age) //code//Uncaught SyntaxError: Duplicate parameter name not allowed in this context
Chạy Code
Không cho phép khai báo đổi mới dưới dạng hệ nhị phân.
-Các số lúc khai báo dưới dạng như phân hay nói theo một cách khác thì bao gồm tiền tố (prefix) 0 đằng trước thì sẽ không còn được chấp nhậnVD:
-Chế độ thường:
var num = 01010;-Chế độ strict mode:
var num = 01010;//Uncaught SyntaxError: Octal literals are not allowed in strict mode.
Không được phép ghi đè lên trên thuộc tính chỉ được phép đọc.
VD:-Chế độ thường:
var obj = ;Object.defineProperty(obj, "ver", value: 1, writable: false);obj.ver = 10;//không bao gồm gì xảy ra
Chạy Code
-Chế độ strict mode:
"use strict"var obj = ;Object.defineProperty(obj, "ver", value: 1, writable: false);obj.ver = 10;
Chạy Code
Không thực hiện được with
VD:-Chế độ thường:
var bar = 1;var foo = 2;with (bar) console.log(foo);//2
Chạy Code
-Chế độ strict mode:
"use strict"var bar = 1;var foo = 2;with (bar) console.log(foo);//Uncaught SyntaxError: Strict mode code may not include a with statement
Chạy Code
Không chất nhận được khai báo trở thành trong eval
-Vì nguyên nhân bảo mật nên những lúc sử dụng strict mode thì bạn sẽ không thể nào hoàn toàn có thể khai báo được biến bên phía trong nó nữa."use strict"eval ("var x = 4");alert(x);//Uncaught ReferenceError: x is not defined
Chạy Code
Không gật đầu đồng ý khai báo các keyword
-Ở chế độ strict mode thì các các bạn sẽ không áp dụng được các từ khóa sau để khai báo có tác dụng tên biến, hằng,...implementsinterfaceletpackageprivateprotectedpublicstaticyieldargumentsVD:
-Chế độ thường:
var implements = "Học lập trình Online trên tanhailonghotel.com.vn";alert(implements);//chạy bình thường.
Chạy Code
-Chế độ strict mode:
"use strict"var implements = "Học xây dựng Online tại tanhailonghotel.com.vn";alert(implements);//Uncaught SyntaxError: Unexpected strict mode reserved word
Chạy Code
3, Lời kết.
-Đọc dứt phần này mình hy vọng mọi tín đồ cũngcó thể đọc hơn về strict mode trong javascript với với quan điểm của cá thể mình thì mình răn dạy mọi bạn lên áp dụng strict mode trong lúc code.Xem thêm: Kinh Nghiệm Du Lịch Bãi Cháy Tuần Châu Cách Bãi Cháy Bao Xa, Kinh Nghiệm Du Lịch Bãi Cháy Tự Túc
Tham khảo:w3schools.com
Đăng cam kết nhận tin.
Chúng tôi chỉ gửi về tối đa 2 lần trên 1 tháng. Tuyên tía không spam mail!
Đăng Ký
JAVASCRIPT CƠ BẢN
Bài trướcBài sau
1 comments514 likes

PYTHON
JAVA
PHP
JAVASCRIPT
Thông Báo×
Một triết gia đông Lào đã nói:
Không làm mà mong muốn có nạp năng lượng thì chỉ có ăn uống đầu búa, ăn cám.Mình đã viết blog rồi, vậy nên hãy tắt adblock đi nhằm mình bao gồm cơm ăn được không?
ĐéoOk