Here is an example that highlights the question, but unfortunately it does not function as intended:
function test({ name = 'Bob', age = 18 }: { readonly name?: string, readonly age?: number }) {
// this should result in an error (but doesn't):
name = 'Lisa';
}
This informative article offers insights on achieving Immutability with parameters. However, it seems that default parameters do not support this feature.