Однострочное решение
Использование объекта Разрушающее присваивание и Object.fromEntries ()
const calendarTab = true;
const engagement = false;
const weekSchedule = false;
const { activeBox, engagementBox, scheduleBox } = Object.fromEntries(
[calendarTab, engagement, weekSchedule].map((item, idx) => [
[`activeBox`, `engagementBox`, `scheduleBox`][idx],
item ? "schedule-box active-box" : "schedule-box"
])
);
console.log(activeBox);
console.log(engagementBox);
console.log(scheduleBox);
Вы можете определить список отношений, чтобы упростить его
const data = [
{ id: "calendarTab", value: true, attr: "activeBox" },
{ id: "engagement", value: false, attr: "engagementBox" },
{ id: "weekSchedule", value: false, attr: "scheduleBox" }
];
const result = Object.fromEntries(
data.map(x => [
x.attr,
x.value ? "schedule-box active-box" : "schedule-box"
])
);
console.log(result.activeBox);
console.log(result.engagementBox);
console.log(result.scheduleBox);
Для обычной реализации не в одну строку:
const calendarTab = true;
const engagement = false;
const weekSchedule = false;
const aqClass = value => {
return value ? "schedule-box active-box" : "schedule-box"
}
const activeBox = aqClass(calendarTab);
const engagementBox = aqClass(engagement);
const scheduleBox = aqClass(weekSchedule)
console.log(activeBox);
console.log(engagementBox);
console.log(scheduleBox);