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
- 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 readonlyWhy 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