TS2602
TypeScriptERRORNotableTypeHIGH confidence

JSX element implicitly has type 'any' because the global type 'JSX.Element' d...

Production Risk

Build will fail; resolve before shipping.

What this means

A type-checking error (TS2602): JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist.. This diagnostic is emitted by the TypeScript compiler when jSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist..

Why it happens
  1. 1TypeScript cannot infer the type and defaults to 'any' with --noImplicitAny
  2. 2Missing type annotation or type parameter
How to reproduce

TypeScript compiler reports TS2602 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS2602
// JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist.

expected output

error TS2602: JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist.

Fix

Add an explicit type annotation

WHEN When TypeScript cannot infer the type

Add an explicit type annotation
// Before (implicit any)
function process(value) { return value; }
// After (explicit type)
function process(value: string): string { return value; }

Why this works

Adding explicit type annotations removes the implicit 'any' and enables full type checking.

What not to do

Suppress with @ts-ignore instead of fixing the type

ts-ignore hides real type errors and makes refactoring unsafe.

Sources
Official documentation ↗

TypeScript Compiler Diagnostics

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All TypeScript errors