Типовая ситуация: ты пишешь кеш. Запись в кеше — это сами данные и unixtime, когда они были получены.
Популярная ошибка — хранить данные и метаданные (дату добавления) на одном уровне:
function addToCache(key, data = {}) {
data.addedAt = Date.now();
cache[key] = data;
}
Не стоит так делать. Не ты создал data, не тебе ее и модифицировать. Кроме того, это абсолютно не очевидно, что код, обслуживающий кеш, может добавлять ключи. (Не говоря уже о том, что addedAt
там уже может быть занят).
Правильно:
function addToCache(key, data = {}) {
const cacheEntry = {
addedAt: Date.now(),
data
};
cache[key] = cacheEntry;
}