cập nhật
- nguyên cảo 1.8+:
"use strict";
được phát ra trong module (Read more).
- Tùy chọn trình biên dịch TypeScript 2.1+:
--alwaysStrict
phân tích tất cả các tệp ở chế độ nghiêm ngặt và phát ra "use strict"
ở đầu tất cả các tệp được xuất (Read more).
Bạn có thể tìm thấy một danh sách một số ví dụ bằng cách tìm kiếm các bài kiểm tra đánh máy cho "trong chế độ nghiêm ngặt".
Dưới đây là một số ví dụ về mã mà sẽ chỉ ném một lỗi thời gian biên dịch khi bạn "use strict";
:
// future reserved keyword not allowed as variable name
var let,
yield,
public,
private,
protected,
static,
implements;
// "delete" cannot be called on an identifier
var a;
delete a;
// octal literals not allowed
03;
Có một vài ví dụ khác nơi "use strict";
sẽ ném ra một lỗi duy nhất khi chạy. Ví dụ:
"use strict";
delete Object.prototype;
Cá nhân, tôi không thấy tất cả những điều hữu ích trong việc ngăn cản tôi mắc lỗi và thêm vào tệp khiến tôi không ngại viết. Điều đó nói rằng, bắt đầu từ TS 2.1 tôi sẽ kích hoạt tùy chọn biên dịch --alwaysStrict
vì nó bổ sung thêm độ nghiêm ngặt bổ sung mà không cần bất kỳ chi phí bảo trì mã nào.
Nguồn
2015-07-13 20:35:38
http://stackoverflow.com/questions/1335851/what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it?rq=1 –
Liên kết bạn cung cấp xác định những gì "sử dụng nghiêm ngặt" là cho trong một tập tin JavaScript. Câu hỏi của tôi là có hay không nó vẫn hữu ích/cần thiết trong một tệp TypeScript, nơi các trình soạn thảo có bật TypeScript và Typecript sẽ bắt được hầu hết/tất cả (?) Của các vấn đề "sử dụng nghiêm ngặt" sẽ bắt được. – DeborahK
Bạn cũng sẽ cần nó nếu bạn đang xây dựng nó cho ES6 sau đó sử dụng một cái gì đó như Babel, nó đòi hỏi các kịch bản được tạo ra để chứa '" sử dụng nghiêm ngặt ";' – BrunoLM