Ciekawostka na dziś: w TypeScript możemy modyfikować sygnaturę klasy za pomocą interfejsów i namespaceów.
Jeżeli chcemy zadeklarować nową metodę na naszej klasie bez jej modyfikacji to możemy zdefiniować interfejs o tej samej nazwie i umieścić w nim sygnaturę metody. TypeScript połączy sygnatury i voila! Metody statyczne możemy również dodawać w podobny sposób, ale w tym przypadku należy użyć namespace.
Po co? Teoretycznie pozwala to na użycie wzorca Extension Method obecnego w np. Kotlinie czy C#.
TypeScript Playground
#typescript
Jeżeli chcemy zadeklarować nową metodę na naszej klasie bez jej modyfikacji to możemy zdefiniować interfejs o tej samej nazwie i umieścić w nim sygnaturę metody. TypeScript połączy sygnatury i voila! Metody statyczne możemy również dodawać w podobny sposób, ale w tym przypadku należy użyć namespace.
Po co? Teoretycznie pozwala to na użycie wzorca Extension Method obecnego w np. Kotlinie czy C#.
TypeScript Playground
#typescript
Nie lepiej rozszerzyć klasę (*przez dziedziczenie)? Jest to popularny "zabieg" i obcy czytający kod szybciej się połapie.
@szczekoscisk Tutaj są wspomniane przypadki, gdy się to przydaje w C#: https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods#common-usage-patterns
@Magiczny_Magik Zaskakuje mnie, że nadal mnie zaskakuje ten język
Zaloguj się aby komentować