Сегодня мы создадим функцию booleanToString, которая принимает один аргумент — булево значение b — и возвращает строку "true" или "false" в зависимости от значения аргумента. Эта функция будет конвертировать булевое значение в строковое представление.
Задача на первый взгляд проста, но есть несколько способов её решения, и мы рассмотрим разные подходы, которые позволяют сократить код и сделать его более элегантным.
Первый подход: использование условного оператора if
Самый очевидный способ решения этой задачи — воспользоваться условным оператором if:
function booleanToString(b) {
if (b) {
return "true";
} else {
return "false";
}
}
Здесь всё просто: если значение b истинно (true), функция возвращает строку "true", иначе — строку "false".
Второй подход: конкатенация с пустой строкой
Более лаконичный способ преобразования булевого значения в строку — это использование конкатенации с пустой строкой. Этот приём позволяет обойтись без условного оператора:
function booleanToString(b) {
return b + "";
}
В этом случае JavaScript автоматически преобразует булево значение в строку при попытке конкатенации.
Третий подход: использование метода toString()
Ещё один простой и элегантный способ — использовать встроенный метод toString(), который преобразует булево значение в строку:
function booleanToString(b) {
return b.toString();
}
Метод toString() является встроенным в JavaScript и работает для всех примитивных типов данных, включая булевые значения.
Заключение
Эта задача наглядно демонстрирует, как можно использовать разные подходы для решения одной и той же проблемы. Начав с простого, но громоздкого решения с использованием условного оператора, мы пришли к более кратким и эффективным вариантам, используя конкатенацию с пустой строкой или метод toString(). Этот пример также показывает, как рефакторинг может улучшить код, делая его короче и читабельнее, без потери функциональности.