Strict Là Gì

Chào đông đảo người hôm nay đến tháng bản thân lại ngoi lên đây

*
hôm nay mình sẽ chia sẻ về User Strict là gì ? và cách sử dụng nó nhé

Trong bé đôi mắt của tương đối nhiều lập trình viên, JavaScript là một trong những sản phẩm công nghệ vô cùng lộn xộn. Lập trình JavaScript chẳng khác nào rất hình.

Bạn đang xem: Strict là gì

Tuy nhiên, JavaScript tất cả hỗ trợ mang lại lập trình sẵn viên chính sách “use strict“. Bằng Việc knhì báo với áp dụng chính sách này, JavaScript đã trsinh sống yêu cầu chính xác cùng nghiêm ngặt hơn. Do đó, các bạn sẽ quan yếu viết code bừa kho bãi vào chính sách này.

1. Use strict là gì?Use strict dịch sang giờ đồng hồ việt thì Tức là thực hiện sự nghiêm ngặt. khi một đoạn lệnh được knhì báo use strict thì toàn bộ các cái code sinh hoạt phía bên dưới cái knhị báo use strict sẽ tiến hành thống trị một biện pháp nghiêm khắc hơn về cú pháp.

x = 10;console.log(window.x);// => 10Tại cơ chế strict mode, bạn sẽ bị lỗi x chưa được định nghĩa: Uncaught ReferenceError: x is not definedx = 10;console.log(window.x);// => Uncaught ReferenceError: x is not defined2. Các nghiêm nhặt của strict mode.-Khi áp dụng strict mode bạn sẽ cần thiết có tác dụng được bước sau đây nữa:

Gán cực hiếm đến vươn lên là không được knhị báo.

-Trong cơ chế hay bạn có thể có tác dụng như này để gán quý hiếm cho một phát triển thành không knhị báo

variable = "tranvanmy";console.log(variable);-Nhưng strict mode thì ko thể:

"use strict"variable = "tranvanmy";console.log(variable);Uncaught ReferenceError: variable is not defined-Để khắc phục được điều trên thì bạn phải knhị báo biến với tự khóa var hoặc let.

"use strict"var variable = "tranvanmy";// orlet variable = "tranvanmy";console.log(variable);

Báo lỗi Khi thực hiện delete.

-Nếu nhỏng sinh sống chế độ thường xuyên thì chúng ta cũng có thể xóa ngẫu nhiên một máy gì bằng trường đoản cú khóa delete, mặc dù xóa được hay là không nó cũng ko báo lỗi. Nhưng khi sử dụng chế độ strict mode thì các trang bị tất yêu xóa được nó đã báo lỗi ngay.

Xem thêm: Linh Hồn Haemujin Có Thể Sử Dụng Ở Đâu? ? Câu Hỏi Và Đáp Án Trắc Nghiệm Bsn

function getMyName (name) console.log(name)delete getMyName;//không có gì xẩy ra mặc dù delete ko xóa được hàm-Chế độ strict mode:

"use strict"function getMyName (name) console.log(name)delete getMyName;//Uncaught SyntaxError: Delete of an unqualified identifier in strict mode.

Các tmê mệt số của hàm ko được trùng nhau

-Nếu nhỏng cơ chế thường xuyên chúng ta có thể knhị báo những tmê mệt số truyền vào hàm được phnghiền trùng nhau thì lúc này lúc áp dụng cơ chế strict mode thì nó đang báo lỗi ngay lập tức chớp nhoáng.

-Chế độ thường:

function getProfile (name, name, age) //code//chạy bình thường.-Chế độ strict mode:"use strict"

function getProfile (name, name, age) //code//Uncaught SyntaxError: Duplicate parameter name not allowed in this context

Không được cho phép knhị báo trở nên dưới dạng hệ nhị phân.

-Các số knhì báo bên dưới dạng nhị phân hoặc gồm chi phí tố prefix 0 đằng trước thì sẽ không được chấp nhận

-Chế độ thường:

var num = 010100101010101;-Chế độ strict mode:

var num = 01010;//Uncaught SyntaxError: Octal literals are not allowed in strict mode

Không được phnghiền ghi đè lên trên thuộc tính chỉ được phép đọc.

-Chế độ thường:

var obj = ;Object.defineProperty(obj, "ver", value: 1, writable: false);obj.ver = 10;//không có gì xảy ra-Chế độ strict mode:

"use strict"var obj = ;Object.defineProperty(obj, "ver", value: 1, writable: false);obj.ver = 10;---------Uncaught TypeError: Cannot assign khổng lồ read only property "ver" of object "#" at data.php:14

Không sử dụng được with

-Chế độ thường:

var bar = 1;var foo = 2;with (bar) console.log(foo);//2-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

Không có thể chấp nhận được khai báo đổi mới vào eval

-Vì nguyên do bảo mật thông tin nên khi sử dụng strict mode thì các bạn sẽ cần yếu nào có thể khai báo được biến chuyển bên trong nó nữa.

"use strict"eval ("var x = 4");console.log(x);//Uncaught ReferenceError: x is not defined

Không gật đầu khai báo các keyword

-Tại chính sách strict mode thì các bạn sẽ không thực hiện được những từ khóa sau để knhị báo có tác dụng thương hiệu biến, hằng,...

implementsinterfaceletpackageprivateprotectedpublicstaticyieldargumentsKết luận

Trên đó là một số lỗi thường xuyên chạm mặt phải khi chúng ta thực hiện JavaScript sống strict mode. Nói vậy, không Tức là tôi khuim bạn rời áp dụng strict mode. Ngược lại, cơ chế này giúp cho bạn dễ ợt vạc hiện lỗi. Và đây là sự đảm bảo an toàn cho code chúng ta không biến thành xung hốt nhiên với đông đảo phiên bạn dạng JavaScript new hơn trong tương lai.