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