No, you're the one that's incorrect, typescript blocks mutations when you use Object.freeze too: "Cannot assign to 'immutable' because it is a read-only property. (2540)"
You can also use "as const" to get the same behavior without any runtime calls:
const exploring = { immutable: true } as const
exploring.immutable = false
^ Cannot assign to 'immutable' because it is a read-only property.(2540)
But yes, OP wasn't referring to the article, they were just pointing out the narrower fact that Typescript does in fact have compile-time errors for mutating Object.freeze's return values.
You can also use "as const" to get the same behavior without any runtime calls:
But yes, OP wasn't referring to the article, they were just pointing out the narrower fact that Typescript does in fact have compile-time errors for mutating Object.freeze's return values.