TypeScript

Mixing incompatible explicit properties and index signatures in TypeScript

TypeScriptObjects and InterfacesIndex Signaturesbeginner

What this snippet does

If an interface has an index signature, all explicitly defined properties must match the index signature's type.

Expected output

Compile Error: Property 'length' of type 'number' is not assignable to 'string' index type 'string'.

Why practise typing this

Typing objects and interfaces code builds muscle memory for the symbols and indentation TypeScript uses most, which prose-based typing tests never cover. DevType measures your words per minute and accuracy on this snippet and tracks the individual characters you mistype, so later lessons can target them.

More TypeScript practice

Browse all TypeScript snippets →