Skip to content
← Back to rules

oxc/no-optional-chaining Restriction

它的作用

禁止使用 可选链

为什么这不好?

如果你需要维护与较旧环境的兼容性,你可能会想使用这条规则。 不过,自 2020 年以来,所有主流浏览器都已支持可选链, 而且如今通常可以安全使用。

在某些情况下,将可选链转译后会生成冗长的辅助代码, 从而影响打包体积和性能。当你需要避免转译后的可选链带来的开销时,这条规则很有用。 这仅在你通过 polyfill 以支持 2020 年之前的浏览器时才相关。

在目前的大多数代码库中,你不应该使用这条规则。

示例

以下是此规则的错误代码示例:

javascript
const foo = obj?.foo;
obj.fn?.();

配置

此规则接受一个包含以下属性的配置对象:

message

type: string

default: ""

当检测到可选链时显示的自定义帮助消息。 例如:"我们的输出目标是 ES2016,而可选链会产生冗长的 辅助代码,因此应避免使用。"

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "rules": {
    "oxc/no-optional-chaining": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "oxc/no-optional-chaining": "error",
  },
});
bash
oxlint --deny oxc/no-optional-chaining

版本

此规则于 v0.5.0 中加入。

参考资料