Cześć, tu Jakub. Polubiłeś devFlipCards? Postaw mi kawę

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.

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