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 を使用するにはどうすればよいですか?