TGViewer
JavaScript JavaScript @javascript · 31K subscribers
Post #2189 5.38K
CHALLENGE

type User = {
id: number;
name: string;
role?: 'admin' | 'user';
};

function processUser(user: Partial<User>): string {
const defaultUser: User = {
id: 0,
name: 'Guest',
role: 'user'
};

const mergedUser = { ...defaultUser, ...user };

if (mergedUser.role === 'admin') {
return `Admin: ${mergedUser.name}`;
}

return `User: ${mergedUser.name} (ID: ${mergedUser.id})`;
}

console.log(processUser({ name: 'John', role: 'admin' }));
  • 👍 7
  • ❤ 1
More from @javascript
  1. Oct 8, 2026Post #3546
  2. Oct 8, 2026CHALLENGE function tag(strings, ...values) { return strings.raw.join('|') + '::' + values.…
  3. Oct 7, 2026Post #3544
  4. Oct 7, 2026CHALLENGE const sym1 = Symbol('id'); const sym2 = Symbol('id'); const obj = { [sym1]: 'fir…
  5. Oct 6, 2026Post #3542
  6. Oct 6, 2026CHALLENGE async function* gen() { const x = yield 1; const y = yield x + 1; return x + y;…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →