# Fix 'TypeError: Attempted to assign to readonly property'

> Learn how to fix the TypeError: Attempted to assign to readonly property in JavaScript, caused by mutating a string you forgot to pass to JSON.parse() first.

Author: Flavio Copes | Published: 2021-05-12 | Canonical: https://flaviocopes.com/fix-error-assign-readonly-property/

I was doing something in my [Next.js](https://flaviocopes.com/nextjs/) codebase when I ran into this problem:

```
TypeError: Attempted to assign to readonly property
```

Weird! After a bit of debugging I found the problem. I has nothing to do with Next.js, it can happen in any [JavaScript](https://flaviocopes.com/javascript/) codebase.

I had a column in my database where I stored data as [JSON](https://flaviocopes.com/json/).

In my code I was updating this JSON object, using the dot syntax (like `data.name = 'Flavio'`) but I forgot to call JSON.parse() before doing so.

`data` was not an object, but a string!

Strings are immutable in JavaScript. We can't update them once defined. Hence the error. The solution was to, obviously, call `JSON.parse()` before updating the JSON object.
