8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

TypeScript で未使用のパラメータを書くと怒られる件

Last updated at Posted at 2021-12-20

結論

TypeScript の関数定義で、使用しないパラメータを書くときは、パラメータ名をアンダースコアで始める。

例:

app.use((_req, _res, next) => {
  next();
});

説明

例えばexpress-generatorでExpressのテンプレートを生成したとき、存在しないパスへのリクエストを処理するのに次のようなコードが作られる。

// catch 404 and forward to error handler
app.use((req, res, next) => {
  next(createError(404, '存在しないパスへのリクエストです'));
});

参考: express-generatorで生成したapp.js のコードを1行ずつ解読

JavaScriptのままなら問題ないが、TypeScriptの場合、req, res の部分で怒られる

'req' が宣言されていますが、その値が読み取られることはありません。ts(6133)

'res' が宣言されていますが、その値が読み取られることはありません。ts(6133)

パラメータ名の先頭にアンダースコアをつけると解決する。つまり req_req , res_res にする。

// catch 404 and forward to error handler
app.use((_req, _res, next) => {
  next(createError(404, '存在しないパスへのリクエストです'));
});

これなら怒られない。

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?