6

9.0 から Angular 10 に更新されました

コードで Optional Chaining ( https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#optional-chaining ) を使用するたびに、次のエラーの独自のインスタンスが発生するようになりました

ERROR in ./src/app/app.component.ts 39:18
Module parse failed: Unexpected token (39:18)
File was processed with these loaders:
 * ./node_modules/@ngtools/webpack/src/index.js
You may need an additional loader to handle the result of these loaders.
|         this.title = 'my-app';
|         const x = this.GetObject();
>         let y = x?.myvar;
|     }

このエラーは、私の tsconfig.base.json ファイルから以下のように es2020 をターゲットにしている場合にのみ発生しますが、es2019 をターゲットにしている場合は問題ありません。

"target": "es2020",  //If set to es2019 then all OK
"module": "es2020",
"lib": [
   "es2018",  //Error also occurs if this set to es2020
    "dom"
  ],

以下のように新しく生成されたときに、このエラーが新しい Angular 10 アプリケーションで発生することを確認し、ターゲットを es2020 に変更します (したがって、私のコードではありません!) Typescript のバージョンは 3.9.7 です。

npm install -g @angular/cli
ng new my-app

また、es2020 のリリース ノートでは、「オプションの連鎖」が新しい機能になったことにも注意してください。これは、「Optional Chaining」の Typescript コンパイルが何らかの形で新しい es2020 機能と結びついていないのではないかと疑っていますか?

es2020 で Optional-Chaining を使用するにはどうすればよいですか?

4

1 に答える 1