[解決済み] TypeScriptファイルで "Use Strict "が必要?
2022-04-29 02:17:08
質問
TypeScriptのコードファイルのどこに"use strict"の行を入れるかという投稿を見たことがあるのですが、どうすればいいのでしょうか?私の疑問は、なぜこの行が必要なのか、ということです。
TypeScriptはすでに強く型付けされた言語なので、"use strict"は何を追加するのでしょうか?
どのように解決するのですか?
更新情報
-
TypeScript 1.8+ に対応しました。
"use strict";
は、モジュール ( 続きを読む ). -
TypeScript 2.1以上。
--alwaysStrict
コンパイラオプションはすべてのファイルをストリクトモードで解析し"use strict"
を出力されるすべてのファイルの先頭に追加します ( 続きを読む ).
TypeScript's tests for "in strict mode"で検索すると、いくつかの例のリストが見つかります。
以下は、次のような場合にのみコンパイル時エラーを投げるコードの例です。
"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;
他にもいくつかの例で
"use strict";
は、実行時にのみエラーを投げます。例えば
"use strict";
delete Object.prototype;
個人的には、TypeScriptでミスを防ぐのにそれほど役に立つとは思えないし、ファイルにノイズが増えるので、わざわざ書く気にもならない。とはいえ、TS 2.1からは
--alwaysStrict
コンパイルオプションは、コードメンテナンスのオーバーヘッドなしに、わずかな厳密性を追加してくれるからです。
関連
-
[解決済み】React Nativeアプリをターミナルから実行するとエラーが発生する(iOS)
-
[解決済み】TypeScript-のAngular Frameworkエラー - "exportAsがngFormに設定されたディレクティブはありません"
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] setTimeout(fn, 0)が役に立つことがあるのはなぜですか?
-
[解決済み] ES6インポートで中括弧を使用するのはどのような場合ですか?
-
[解決済み] Typescript によるインターフェース型チェック
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JavaScriptにおけるマクロタスクとミクロタスクの詳細
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
[解決済み】"フォームが接続されていないため、フォームの送信がキャンセルされました "というエラーの取得について
-
[解決済み] 期待される代入または関数呼び出し: 未使用式なし ReactJS
-
JavaScriptのStringに関する共通メソッド
-
[解決済み] TypeScript getting error TS2304: cannot find name ' require'.
-
フロントエンド null のプロパティ 'disabled' を読み取れない 問題が解決された
-
モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory, scandir 'D:\.... \node_modules
-
JavaScriptのgetElementById、getElementsByTagNam、getElementsByClassNameの違いと使い方
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?