TS1330
TypeScriptERRORNotableSyntaxHIGH confidence

A property of an interface or type literal whose type is a 'unique symbol' ty...

Production Risk

Build will fail; resolve before shipping.

What this means

A syntax error (TS1330): A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.. This diagnostic is emitted by the TypeScript compiler when a property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'..

Why it happens
  1. 1Attempting to modify a property or variable declared as readonly
How to reproduce

TypeScript compiler reports TS1330 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS1330
// A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.

expected output

error TS1330: A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.

Fix

Remove the readonly modifier or create a mutable copy

WHEN When you need to mutate a readonly property

Remove the readonly modifier or create a mutable copy
// Create a mutable copy
const mutable = { ...readonlyObject };
mutable.property = newValue;
// Or remove readonly from the type definition
type MyType = { property: string }; // not readonly

Why this works

readonly properties enforce immutability at the type level; create a copy to modify.

Sources
Official documentation ↗

TypeScript Compiler Diagnostics

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

← All TypeScript errors