@@ -153,9 +153,9 @@ gulpやgruntなどのタスクランナーを使う場合でもtsconfig.jsonを
153
153
TypeScriptコンパイラの最重要オプション、@<code>{--noImplicitAny}について解説します。
154
154
このオプションは"暗黙的なanyを禁ずる"の名が表すとおり、型推論の結果、暗黙的に変数の型がanyになった場合、エラーとしてくれます。
155
155
156
- @<list>{noImplicitAny/basic-invalid}のようなメソッドの返り値の型を書き忘れた!という脇の甘いコードをコンパイルしてみます。
156
+ @<list>{noImplicitAny/basic-invalid.ts }のようなメソッドの返り値の型を書き忘れた!という脇の甘いコードをコンパイルしてみます。
157
157
158
- //list[noImplicitAny/basic-invalid][メソッドの返り値を書き忘れた!]{
158
+ //list[noImplicitAny/basic-invalid.ts ][メソッドの返り値を書き忘れた!]{
159
159
#@mapfile(../code/tsc-options/noImplicitAny/basic-invalid.ts)
160
160
declare class Sample {
161
161
// 返り値の型を指定し忘れている!
@@ -195,9 +195,9 @@ nullやundefinedを許容したい場合、union typesや省略可能引数を
195
195
本書は@<code>{--strictNullChecks}オプションを常に有効にしている前提で書いています。
196
196
有効にしている時の挙動は本書のサンプルすべてが該当しますので、この節ではこのオプションを使わないときの挙動について確認します。
197
197
198
- まずはオプションありの例です(@<list>{strictNullChecks/basic})。
198
+ まずはオプションありの例です(@<list>{strictNullChecks/basic.ts })。
199
199
200
- //list[strictNullChecks/basic][危険なコードがいち早く発見される]{
200
+ //list[strictNullChecks/basic.ts ][危険なコードがいち早く発見される]{
201
201
#@mapfile(../code/tsc-options/strictNullChecks/basic.ts)
202
202
// --strictNullChecks無しとの比較
203
203
// 無しの場合に等しい表現は…
@@ -234,9 +234,9 @@ nullやundefinedに対するアクセスが多くの場合未然に防がれ、"
234
234
235
235
非null指定演算子(@<code>{!})については@<chapref>{types-advanced}の@<hd>{types-advanced|non-null-assertion-operator}で触れました。
236
236
237
- さて次はオプションなしの例です(@<list>{strictNullChecks/withoutStrictNullCheck-ignore})。
237
+ さて次はオプションなしの例です(@<list>{strictNullChecks/withoutStrictNullCheck-ignore.ts })。
238
238
239
- //list[strictNullChecks/withoutStrictNullCheck-ignore][実行時にエラーになるかも]{
239
+ //list[strictNullChecks/withoutStrictNullCheck-ignore.ts ][実行時にエラーになるかも]{
240
240
#@mapfile(../code/tsc-options/strictNullChecks/withoutStrictNullCheck-ignore.ts)
241
241
// --strictNullChecks無しだと大変ゆるい
242
242
let obj: Date;
@@ -265,9 +265,9 @@ export { }
265
265
その名のとおり、使っていないローカル変数があったらエラーにしてくれます。
266
266
本書のサンプルコードでも有効になっているため、エラー消しのために無意味にexportしている箇所がありました。
267
267
268
- 例を見てみます(@<list>{noUnusedLocals/basic-invalid})。
268
+ 例を見てみます(@<list>{noUnusedLocals/basic-invalid.ts })。
269
269
270
- //list[noUnusedLocals/basic-invalid][未使用変数はちゃんと消そう]{
270
+ //list[noUnusedLocals/basic-invalid.ts ][未使用変数はちゃんと消そう]{
271
271
#@mapfile(../code/tsc-options/noUnusedLocals/basic-invalid.ts)
272
272
// importした後、一回も使わないのはエラー
273
273
// error TS6133: 'readFile' is declared but never used.
@@ -297,9 +297,9 @@ export let objC = {};
297
297
関数やメソッドの引数に使っていないものがあるとエラーにしてくれます。
298
298
エラーにせず残しておきたい場合、変数名の頭に@<code>{_}(アンダースコア)をつけることでエラーを抑制できます。
299
299
300
- 例を見てみます(@<list>{noUnusedParameters/basic-invalid})。
300
+ 例を見てみます(@<list>{noUnusedParameters/basic-invalid.ts })。
301
301
302
- //list[noUnusedParameters/basic-invalid][使っていない仮引数はできれば削除したい]{
302
+ //list[noUnusedParameters/basic-invalid.ts ][使っていない仮引数はできれば削除したい]{
303
303
#@mapfile(../code/tsc-options/noUnusedParameters/basic-invalid.ts)
304
304
// 仮引数 b は利用されていないのでエラー _c はプリフィクス_なのでエラーにならない
305
305
// error TS6133: 'b' is declared but never used.
@@ -325,9 +325,9 @@ export class Sample {
325
325
@<code>{--noImplicitReturns}オプションについて解説します。
326
326
関数やメソッドの返り値について、returnで値を返す場合とreturnしない場合、エラーになります。
327
327
328
- 例を見てみます(@<list>{noImplicitReturns/basic-invalid})。
328
+ 例を見てみます(@<list>{noImplicitReturns/basic-invalid.ts })。
329
329
330
- //list[noImplicitReturns/basic-invalid][暗黙のreturnを禁じる]{
330
+ //list[noImplicitReturns/basic-invalid.ts ][暗黙のreturnを禁じる]{
331
331
#@mapfile(../code/tsc-options/noImplicitReturns/basic-invalid.ts)
332
332
// returnがない(暗黙的にundefinedが返る)パターンを検出してくれる
333
333
// error TS7030: Not all code paths return a value.
@@ -358,9 +358,9 @@ export { }
358
358
@<code>{--noImplicitThis}オプションについておさらいします。
359
359
@<chapref>{types-advanced}の「関数のthisの型の指定」で述べたとおり、このオプションを利用すると、thisの型指定がない関数内でthisへアクセスするとエラーになります。
360
360
361
- 例を見てみます(@<list>{noImplicitThis/basic-invalid})。
361
+ 例を見てみます(@<list>{noImplicitThis/basic-invalid.ts })。
362
362
363
- //list[noImplicitThis/basic-invalid][型指定無しのthisの利用を禁じる]{
363
+ //list[noImplicitThis/basic-invalid.ts ][型指定無しのthisの利用を禁じる]{
364
364
#@mapfile(../code/tsc-options/noImplicitThis/basic-invalid.ts)
365
365
// 関数内部でのthisの型を偽の第一引数で指定
366
366
function testA(this: string) {
0 commit comments