Кондиционирование строк шаблона JavaScript: несколько методов условного манипулирования строками

Строки шаблонов JavaScript предоставляют мощный способ работы со строками, позволяя создавать динамическое содержимое и легко заменять переменные. Одним из распространенных вариантов использования является применение условной логики в строках шаблона для условного включения или изменения содержимого на основе определенных условий. В этой статье мы рассмотрим несколько методов обработки строк шаблона в JavaScript с примерами кода.

Метод 1: Тернарный оператор
Тернарный оператор — это краткий способ условного включения содержимого в строку шаблона. Это соответствует синтаксису: условие ? выражение1: выражение2. Если условие истинно, оценивается выражение 1; в противном случае оценивается выражение2.

const age = 25;
const message = `I am ${age} years old${age >= 18 ? ', an adult' : ''}.`;
console.log(message); // Output: "I am 25 years old, an adult."

Метод 2: использование операторов if…else
Вы также можете использовать операторы if…else для условного управления строками шаблона. Используя этот подход, вы получаете больше гибкости при работе со сложными условиями и множеством сценариев.

const isLoggedIn = true;
const username = 'John Doe';
let greeting = `Welcome, ${username}!`;
if (isLoggedIn) {
  greeting += ` You are logged in.`;
} else {
  greeting += ` Please log in to access your account.`;
}
console.log(greeting);
// Output when isLoggedIn is true: "Welcome, John Doe! You are logged in."
// Output when isLoggedIn is false: "Welcome, John Doe! Please log in to access your account."

Метод 3. Использование функции шаблона.
Другой подход заключается в создании функции шаблона, которая принимает аргументы и условно создает строку шаблона на основе этих аргументов.

function formatMessage(name, isVIP) {
  return `Hello, ${name}! ${isVIP ? 'Thank you for being a VIP customer.' : 'Enjoy your shopping.'}`;
}
console.log(formatMessage('Alice', true));
// Output: "Hello, Alice! Thank you for being a VIP customer."
console.log(formatMessage('Bob', false));
// Output: "Hello, Bob! Enjoy your shopping."

Метод 4: использование методов массива
Вы можете использовать методы массива, такие как filter, mapи join, для условного манипулировать строками шаблона на основе элементов массива.

const fruits = ['apple', 'banana', 'orange'];
const fruitMessage = `I love ${fruits.filter(fruit => fruit !== 'banana').map(fruit => fruit.toUpperCase()).join(', ')}.`;
console.log(fruitMessage); // Output: "I love APPLE, ORANGE."

В этой статье мы рассмотрели несколько методов обработки строк шаблона в JavaScript. Используя тернарный оператор if…else, функции шаблона или методы массива, вы можете динамически манипулировать строками шаблона в зависимости от различных условий. Поэкспериментируйте с этими методами, чтобы расширить возможности манипулирования строками в JavaScript.