Przejdź do treści
webtype.orgwebtype.org#258 optional-keys · par 4

    ↑↓ ruch · ⏎ otwórz · esc zamknij

    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 4

    Zagadka

    optional-keys.ts
    Podejś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

    3
    • OptionalKeys<{ a: string; b?: number }>
      'b'
    • OptionalKeys<{ a: string }>
      never
    • OptionalKeys<{ 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ów

    Nie ma jeszcze publicznych wyników.

    Archiwum
    02

    Rozwiązanie z komentarzem

    Ten komentarz ukaże się 24 godziny po zamknięciu zagadki.

    Wykorzystuje