которое вы описали, не эквивалентное. Вот во что транспилируется optional-chaining:
(_c = (_b = (_a = foo) === null || _a === void 0 ? void 0 : _a.bar) === null || _b === void 0 ? void 0 : _b.baz) === null || _c === void 0 ? void 0 : _c.qux;
Eslint может и для рефакторинга использоваться, пример правила которое заменяет math.pow на новый оператор ** ради читаемости: https://eslint.org/docs/rules/prefer-exponentiation-operator Но так да, код с optional chaining не эквивалентный получается
Обсуждают сегодня