カクカクしかじか

技術的なアレコレ

TypeScript(JS)でswitch文を書いた際にESLintで「Unexpected lexical declaration in case block」のエラーになる際の解決法

結論

switch文の中で const { hoge, fuga } = event.payload.hogeFuga; のように分割代入をするとESLintで「Unexpected lexical declaration in case block」のエラーになるので、case 〇〇: { 処理 } という形式で書いてあげると怒られなくなります。

switch (action) {
  case CREATE:
    // 何らかの処理
    break;
  case UPDATE: {
    const { hoge, fuga } = event.payload.hogeFuga;
    // 何らかの処理
    break;
  }
  case DELETE:
  default:
    // 何らかの処理
    break;
}