> если можно преобразовать объект в желаемый тип данных легче и проще
Так эти способы и вызовут неявно те же самые `toString`, `valueOf` и `Symbol.toPrimitive`
Всё-таки не очень внятно описано что за статичная переменная.
Но в целом я бы в таком случае хранил в events не объект, а промис и в вызове getEventList проверял, что если переменная есть, то никуда ходить не нужно.
let events = null;
function getEventList() {
if (events) return events;
events = fetch(...).then(r => r.json());
return events;
}
async function getEventDetails() {
events = await getEventList();
// ...
}