Przejdź do treści
TS7006

    ↑↓ ruch · ⏎ otwórz · esc zamknij

    TS7006

    Parametr niejawnie ma typ any

    Parameter 'value' implicitly has an 'any' type.

    Własne słowa kompilatora. Nietłumaczone — to ten ciąg, który wkleiłeś w wyszukiwarkę.

    Tryb ścisły znalazł parametr funkcji bez adnotacji i bez kontekstu, z którego można wywnioskować typ.

    Odtworzenie

    function double(value) {
      return value * 2
    }

    Build potwierdza, że to emituje dokładnie ten kod.

    Dlaczego kompilator tak mówi

    Parametr bez typu jest niesprawdzanym wejściem do funkcji. Przy `noImplicitAny` TypeScript nie pozwala wołającym przesyłać tam czegokolwiek, dopóki kontrakt nie mówi, co tam pasuje.

    Naprawy

    1. 01
      function double(value: number) {
        return value * 2
      }

      Dodaj konkretny typ wejścia, gdy operacja naprawdę wymaga liczby.

    2. 02
      function identity<T>(value: T): T {
        return value
      }

      Użyj parametru typu, gdy funkcja zachowuje typ dostarczony przez wywołującego.

    Wniosek

    Nie zastępuj odruchowo niejawnego `any` jawnym. Opisz prawdziwe wejście albo zamodeluj zależność typem generycznym.

    Dokąd dalej

    Błędy