こんにちは。TypeScriptの世界へようこそ!
初めてTypeScriptを触るとき、`tsconfig.json`という聞き慣れないファイルを開いて、ずらりと並ぶ設定項目に「うわっ……」と圧倒されてしまったことはありませんか? 大丈夫です、みんな最初はそうです。
今日は、その中でも特に重要で、かつ「これさえあれば安心」という魔法のスイッチ、`alwaysStrict`についてお話ししますね。
—
そもそも「厳格モード(use strict)」って何?
「厳格モード」を身近な例えで説明しましょう。
たとえば、料理をするときに「なんとなく目分量で、味見もしないで作る」のと、「計量スプーンで正確に測り、レシピの工程を厳守して作る」のとでは、どちらが失敗しませんか? もちろん後者ですよね。
JavaScriptの世界には、昔の「かなり自由(というより、適当)」な書き方を許容する文化がありました。でも、そのせいで「変数名を打ち間違えてもエラーにならず、謎のバグが生まれる」といった悲劇が多発していたんです。
そこで登場したのが「厳格モード(use strict)」です。
これは、「JavaScript界の整理整頓ルール」のこと。これを使うと、JavaScriptは「いい加減な書き方は許さないよ! 間違いがあったらすぐに教えてあげるからね!」と、とても誠実な相棒になってくれます。
—
なぜ `alwaysStrict` を設定するのか?
TypeScriptで開発をする際、この「厳格モード」をいちいち各ファイルの先頭に手書きするのは面倒ですし、書き忘れることもありますよね。
そこで `tsconfig.json` の出番です。このファイルの中に `alwaysStrict: true` と一行書くだけで、プロジェクト内のすべてのファイルに対して、自動的に「厳格モード」という最強のガードを張り巡らせてくれるんです。
これを入れておけば、以下のような「うっかりミス」を未然に防げます。
- 変数の宣言忘れ: `x = 10` とだけ書いて、`let` や `const` を忘れたら「おいおい、これどの変数だよ!」と怒ってくれます。
- 禁止事項の検知: プログラミング上、バグの温床になりやすい「危険な書き方」を未然にブロックしてくれます。
—
さあ、設定してみましょう!
それでは、実際の `tsconfig.json` を見てみましょう。といっても、書くのはたった一行です。
{
“compilerOptions”: {
/ ここが魔法のスイッチです /
“alwaysStrict”: true,
/ 他の一般的な設定例 /
“target”: “ESNext”,
“module”: “CommonJS”,
“strict”: true // これを有効にすると、alwaysStrictも自動的に有効になります
}
}
【補足】`strict: true` との関係性
実は、中級者以上の現場では `strict: true` を使うのが一般的です。これは「厳格モード」だけでなく、「もっと厳しく型チェックするよ!」という設定をまとめてオンにする「全部盛りパック」のようなもの。
もしあなたが「これからガッツリTypeScriptをやるぞ!」という意気込みなら、`alwaysStrict` だけではなく、`strict: true` を設定しておくことを強くおすすめします。
—
実際にエラーが出る様子を見てみよう
もし `alwaysStrict` が有効な環境で、こんな「ルーズな書き方」をしたらどうなるでしょうか?
// alwaysStrict が true の場合
function calculate() {
// 宣言なしで変数を使おうとすると…
myValue = 100;
// 怒られます!「’myValue’ は定義されていません」と教えてくれます。
return myValue;
}
このエラーを見たとき、初心者の方は「うわっ、エラーが出た!」と焦るかもしれません。でも、これは「バグになる前に教えてくれてありがとう!」という感謝のサインなんです。
—
最後に:完璧を目指さなくていいんです
TypeScriptの設定は、最初は難しく感じるかもしれません。でも、`alwaysStrict` のような設定は、「未来の自分を助けるための保険」です。
最初は細かいエラーに悩まされることもあるでしょう。でも、その一つひとつが、あなたがより正確で、プロフェッショナルなコードを書けるようになるための階段です。
「今日は一つ、コードを整理整頓する設定を学んだぞ」と、自分を褒めてあげてくださいね。何か分からないことがあれば、いつでもまた聞いてください。あなたのTypeScriptライフを、心から応援しています!

コメント