Когда переменная сравнивается со строковым значением, проще всего начать со сравнения variable === "value"
или variable !== "value"
. Со временем они могут перерасти в более длинные последовательности, например, variable === "value1" || переменная === "значение2" || переменная === "значение3"
.
Значения, с которыми сравнивается переменная, часто сами по себе являются значимой коллекцией. Рефакторинг их в массив и использование array.includes(variable)
может облегчить повторное использование и расширение, а осмысленное имя массива может облегчить понимание кода.
Содержание
До (пример)
if (extension !== "js"
&& extension !== "ts"
&& extension !== "tsx") {
handleUnsupportedExtension(extension)
}
Шаги рефакторинга
💡 Шаги рефакторинга выполнены с использованием P42 JavaScript Assistant v1.105
- Преобразуйте цепочку сравнения строк в array.includes
- Извлечение массива в переменную
- Переместить переменную извлеченного массива, например, в начало файла (не показано)
После (пример)
const SUPPORTED_EXTENSIONS = ["js", "ts", "tsx"];
if (!SUPPORTED_EXTENSIONS.includes(extension)) {
handleUnsupportedExtension(extension)
}