5. Czy warto używać `any`?

Typ any jest tzw. wildcardem - pozwala zastąpić każdy inny typ. Jego właściwością jest, że można założyć, że reprezentuje dowolny inny typ. Można odwołać się do dowolnego pola lub funkcji obiektu oznaczonego jako any i kompilator nie zwróci błędu.

Problemem jest fakt, że tracone jest typowanie, a więc najważniejsza przewaga TypeScriptu nad JavaScriptem. Oznacza brak sprawdzania, jakiego typu są zmienne, co może prowadzić do trudnych do wykrycia błędów, występujących dopiero podczas działania programu.

const randomObject = {anotherField: "value"}; console.info(randomObject.anotherField) // value console.info((randomObject as any).another.field) // TypeError: Cannot read properties of undefined (reading 'field')

Kompilator nie zgłosił błędu w momencie dostępu do pola another w obiekcie randomObject, jako że any pozwala na założenie że obiekt ma dowolne właściwości. Dopiero w czasie działania programu zostaje rzucony TypeError.

Reasumując - nie warto używać any w kodzie z TypeScriptem, a w znacznej większości przypadków jego użycie nie jest konieczne.

devFlipCards 2024

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.