Vyhledávání na webu

Chyba Typescriptu „Objekt je typu 'unknown'.“


Včera, když jsme pracovali na kódu, jsme neměli žádné problémy.

Toto ráno jsme na druhou stranu narazili na to, že každá chyba je nyní považována za Unknown, oproti předchozímu typu any.

Jak mohu tento změnu vrátit zpět. Najdu pouze hromadu hrozně zmatených konverzací na GitHubu, které naznačují změnu, ale žádná nezmiňuje, ve které verzi byla tato zásadní změna skutečně přidána.

Díky předem.

Odpověď č. 1

žádný, který by skutečně specifikoval, ve které verzi byla tato zásadní změna přidána

Toto je nová funkce TypeScriptu 4.4. Parametry catch nyní mají výchozí hodnotu unknown. To činí zpracování chyb bezpečnějším. Jak jste zjistili, "useUnknownInCatchVariables": false je jedním z řešení.

Nicméně doporučuji nenastavovat tuto možnost kvůli zachování bezpečnosti pro budoucí kód, a místo toho přidat explicitní any, pokud to dává smysl, nebo přidat vlastní typové kontroly, aby bylo možné využít bezpečnosti v existujícím kódu.

Více

  • Oficiální blogový příspěvek TypeScriptu: https://devblogs.microsoft.com/typescript/announcing-typescript-4-4/
  • Také jsem udělal video na toto téma: https://www.youtube.com/watch?v=JyBvFey7pVc

Odpověď č. 2

Po tuně googlení jsem to našel v komentáři na hřišti...

"useUnknownInCatchVariables": false, ve vašich možnostech kompilátoru to opraví.

Související články