36. Jaki jest cel operatora `in` w TypeScript w kontekście mapped types i jak można go efektywnie używać?

Zrozumienie operatora in w kontekście mapped types

Operator in w TypeScript jest głównie używany w mapped types do iteracji po właściwościach danego typu unii. Pozwala na przekształcenie każdej właściwości w unii w nowy typ.

Użycie operatora in

Rozważmy scenariusz, w którym chcesz stworzyć nowy typ poprzez przekształcenie właściwości istniejącego typu. Na przykład, możesz chcieć, aby wszystkie właściwości danego typu były opcjonalne lub tylko do odczytu.

Oto podstawowy przykład użycia operatora in:

type Person = { name: string; age: number; }; type OptionalPerson = { [P in keyof Person]?: Person[P]; };

W tym przykładzie OptionalPerson jest mapped type, w którym każda właściwość typu Person jest przekształcana na opcjonalną. Operator in iteruje po keyof Person, który jest unią kluczy "name" | "age".

Zaawansowany przykład

Stwórzmy mapped type, który sprawi, że właściwości będą zarówno opcjonalne, jak i tylko do odczytu:

type ReadonlyOptional<T> = { readonly [P in keyof T]?: T[P]; }; const person: ReadonlyOptional<Person> = { name: "John" }; // person.name = "Doe"; // Błąd: Nie można przypisać do 'name', ponieważ jest to właściwość tylko do odczytu.

Tutaj, ReadonlyOptional jest mapped type, który sprawia, że każda właściwość T jest zarówno opcjonalna, jak i tylko do odczytu, co pokazuje elastyczność, jaką zapewnia operator in w mapped types.

Podsumowanie

Operator in jest potężnym narzędziem w TypeScript, szczególnie w kontekście mapped types. Oferuje zwięzły sposób na przekształcanie każdej właściwości typu, umożliwiając szeroki zakres manipulacji typami. Ta zdolność jest szczególnie przydatna przy tworzeniu utility types, które muszą dostosować istniejące typy do nowych struktur lub ograniczeń.

Nie możesz znaleźć wspólnego terminu na spotkanie z przyjaciółmi? Sprawdź nasze narzędzie commondate.xyz
devFlipCards 2025

Akceptujesz cookies?

Cookies to niewielkie fragmenty danych zapisywane lokalnie na twoim urządzeniu. Pomagają w funkcjonowaniu naszej strony - zapisują Twoje ustawienia strony takie jak motyw czy język. Poprawiają funkcjonowanie reklam i pozwalają nam na przeprowadzanie analityki odwiedzin strony. Korzystając ze strony zgadasz się na ich wykorzystanie.

Nie możesz znaleźć wspólnego terminu na spotkanie z przyjaciółmi? Sprawdź nasze narzędzie
commondate.xyz