【入門編】 alwaysStrictによるuse strictの強制 – TypeScript実践ガイド

こんにちは。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ライフを、心から応援しています!

コメント

タイトルとURLをコピーしました