@babel/plugin-proposal-optional-chaining-assign
转换赋值表达式左侧的可选链式调用。
示例
input.js
function doSomething(maybeOptions) {
maybeOptions?.retries = 5;
}
将被转换为
output.js
function doSomething(maybeOptions) {
maybeOptions !== null && maybeOptions !== void 0 && maybeOptions.retries = 5;
}
安装
- npm
- Yarn
- pnpm
npm install --save-dev @babel/plugin-proposal-optional-chaining-assign
yarn add --dev @babel/plugin-proposal-optional-chaining-assign
pnpm add --save-dev @babel/plugin-proposal-optional-chaining-assign
用法
使用配置文件(推荐)
babel.config.json
{
"plugins": [
"@babel/plugin-proposal-optional-chaining-assign",
{
"version": "2023-07"
}
]
}
通过 Node API
JavaScript
require("@babel/core").transformSync("code", {
plugins: [["@babel/plugin-proposal-optional-chaining-assign", {
"version": "2023-07"
}]],
});
选项
假设
此插件受 noDocumentAll
假设的影响。
version
必需。
"2023-07"
选择要使用的提案
"2023-07"
:在 2023 年 7 月的 TC39 会议上提出的tc39/proposal-optional-chaining-assignment@49d055c44b
中定义的阶段 1 提案。