Chào hầu như người bây giờ đến tháng bản thân lại ngoi lên phía trên

*
bây giờ mình sẽ chia sẻ về User Strict là gì ? cùng cách áp dụng nó nhé

Trong nhỏ mắt của khá nhiều lập trình viên, JavaScript là một trong những thứ vô cùng lộn xộn. Lập trình sẵn JavaScript không khác gì cực hình.

Bạn đang xem: Use strict là gì

Tuy nhiên, JavaScript có cung ứng cho lập trình viên cơ chế “use strict“. Bằng việc khai báo và sử dụng cơ chế này, JavaScript đã trở nên đúng mực và nghiêm ngặt hơn. Vày đó, bạn sẽ không thể viết code bừa kho bãi trong chế độ này.

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. Khi một đoạn lệnh được khai báo use strict thì toàn bộ các cái code ở phía bên dưới dòng khai báo use strict đang được cai quản một giải pháp nghiêm ngặt hơn về cú pháp.

x = 10;console.log(window.x);// => 10Ở chính sách strict mode, các bạn sẽ bị lỗi x không được định nghĩa: Uncaught ReferenceError: x is not definedx = 10;console.log(window.x);// => Uncaught ReferenceError: x is not defined2. Những nghiêm ngặt của strict mode.-Khi thực hiện strict mode các bạn sẽ không thể làm được những bước sau nữa:

Gán giá trị đến biến không được khai báo.

-Trong chế độ thường bạn có thể làm như này để gán giá chỉ trị đến một đổi mới chưa khai báo

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

"use strict"variable = "tranvanmy";console.log(variable);Uncaught ReferenceError: variable is not defined-Để hạn chế được điều trên thì bạn cần phải khai báo đổi mới 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ư ở cơ chế thường thì chúng ta cũng có thể xóa ngẫu nhiên một trang bị gì bằng từ khóa delete, tuy vậy xóa được hay không nó cũng không báo lỗi. Dẫu vậy khi sử dụng chính sách strict mode thì những thứ không thể xóa được nó đã báo lỗi ngay.

function getMyName (name) console.log(name)delete getMyName;//không có gì xảy ra tuy vậy 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 thông số của hàm ko được trùng nhau

-Nếu như chế độ thường bạn cũng có thể khai báo những tham số truyền vào hàm được phép trùng nhau thì giờ đây khi sử dụng chế độ strict mode thì nó đang báo lỗi tức thì lập tức.

-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 cho phép khai báo vươn lên là dưới dạng hệ nhị phân.

-Các số khai báo bên dưới dạng nhị phân hoặc bao gồm tiền 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 phép 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 gồm 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 chất nhận được khai báo trở nên trong eval

-Vì tại sao bảo mật nên những khi sử dụng strict mode thì bạn sẽ không thể nào có thể khai báo được biến bên phía trong nó nữa.

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

Không đồng ý khai báo các keyword

-Ở chế độ strict mode thì 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,...

Xem thêm: Giáo Dục Lấy Trẻ Làm Trung Tâm Trong Phát Triển Nhận Thức, Nội Dung Và Mục Tiêu Của

implementsinterfaceletpackageprivateprotectedpublicstaticyieldargumentsKết luận

Trên đấy là một số lỗi thường gặp gỡ phải khi bạn sử dụng JavaScript sống strict mode. Nói vậy, không tức là tôi khuyên chúng ta tránh áp dụng strict mode. Ngược lại, chế độ này giúp bạn dễ dàng phát hiện lỗi. Và đấy là sự bảo đảm an toàn cho code bạn không bị xung chợt với đều phiên bản JavaScript bắt đầu hơn sau này.