Nr 258 · 10 września 2026 · Trudna
Które klucze są opcjonalne
Zaimplementuj `OptionalKeys<T>`, aby dawał unię tych kluczy `T`, które są opcjonalne, a `never`, gdy żaden nie jest.
01
Zagadka
Par 4Zagadka
optional-keys.tsPodejście 1 z 4Jeszcze nie sprawdzone
Zastąp ??? — rozwiązanie sprawdzamy przypadkami poniżej. Tab wcina; naciśnij Escape, a potem Tab, by wyjść fokusem.
Testy
3OptionalKeys<{ a: string; b?: number }>—→ 'b'OptionalKeys<{ a: string }>—→ neverOptionalKeys<{ a?: 1; b?: 2 }>—→ 'a' | 'b'
Jak oceniamy test Dokładna równość typów, nie przypisywalność — przecięcie to nie to samo co spłaszczony obiekt.
Jak poszło innym
Tę zagadkę rozwiązało jak dotąd mniej niż 5 osób. Rozkład pojawi się, gdy próbka będzie na tyle duża, by coś znaczyć.
Gra na krótkim dystansie
Najmniej znakówNie ma jeszcze publicznych wyników.
02
Rozwiązanie z komentarzem
Ten komentarz ukaże się 24 godziny po zamknięciu zagadki.

