babel-plugin の @babel/plugin-proposal-optional-chaining を導入すれば、safe navigation 演算子が使えるようになります。「safe navigation 演算子」とは、たとえば Ruby の &.
です(Rubyでは「ぼっち演算子」とも呼ばれています)。あるいは ActiveSupport の Object#try です。hoge & hoge.fuga
を hoge?.fuga
と記述できるようになります。この文法は 2018/8/21 の時点で The TC39 Process の Stage 1 Proposal です。
導入環境の babel 関連パッケージのバージョンは以下です。scoped module の方を使っています。
"@babel/core": "^7.0.0-beta.56",
"@babel/runtime": "^7.0.0-beta.56",
"babel-core": "^7.0.0-bridge.0",
インストール
npm install --save-dev @babel/plugin-proposal-optional-chaining
設定ファイルの変更は以下です。
▼ .babelrc
"plugins": [
[
"@babel/plugin-proposal-optional-chaining"
]
▼ .flowconfig
[options]
esproposal.optional_chaining=enable