valid-typeof
Запрещает сравнивать выражения typeof с недопустимыми строковыми значениями
Использование конфигурации recommended из @eslint/js в файле конфигурации включает это правило
Некоторые проблемы, о которых сообщает это правило, можно вручную исправить с помощью предложений редактора
В подавляющем большинстве случаев результат оператора typeof — одно из следующих строковых значений: "undefined", "object", "boolean", "number", "string", "function", "symbol" и "bigint". Сравнение результата оператора typeof с другими строковыми значениями обычно является опечаткой.
Подробности правила
Это правило проверяет, что выражения typeof сравниваются с допустимыми строковыми значениями.
Примеры неправильного кода для этого правила:
/*eslint valid-typeof: "error"*/
typeof foo ===
typeof foo ==
typeof bar !=
typeof bar !==
Примеры правильного кода для этого правила:
/*eslint valid-typeof: "error"*/
typeof foo === "string"
typeof bar == "undefined"
typeof foo === baz
typeof bar === typeof qux
Параметры
У этого правила есть параметр-объект:
-
"requireStringLiterals": trueразрешает сравнивать выраженияtypeofтолько со строковыми литералами или другими выражениямиtypeofи запрещает сравнения с любыми другими значениями. По умолчанию —false.
requireStringLiterals
Примеры неправильного кода с параметром { "requireStringLiterals": true }:
/*eslint valid-typeof: ["error", { "requireStringLiterals": true }]*/
typeof foo ===
typeof bar ==
typeof baz ===
typeof qux ===
typeof baz ===
typeof foo ==
Примеры правильного кода с параметром { "requireStringLiterals": true }:
/*eslint valid-typeof: ["error", { "requireStringLiterals": true }]*/
typeof foo === "undefined"
typeof bar == "object"
typeof baz === "string"
typeof bar === typeof qux
Когда не следует использовать это правило
Возможно, это правило стоит отключить, если вы используете оператор typeof для хост-объектов.
Версия
Это правило добавлено в ESLint v0.5.0.
Дополнительная информация
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/valid-typeof