Skip to content
← Back to rules

eslint/no-nested-ternary Style

What it does ​

Disallow nested ternary expressions.

Why is this bad? ​

Nested ternary expressions make code harder to read and understand. Nesting of these expressions can lead to complex logic that is difficult to understand.

Examples ​

Examples of incorrect code for this rule:

js
const result = condition1 ? (condition2 ? "a" : "b") : "c";

Examples of correct code for this rule:

js
let result;
if (condition1) {
  result = condition2 ? "a" : "b";
} else {
  result = "c";
}

How to use ​

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

json
{
  "rules": {
    "no-nested-ternary": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "no-nested-ternary": "error",
  },
});
bash
oxlint --deny no-nested-ternary

Version ​

This rule was added in v0.15.4.

References ​