The following example (which unfortunately doesn't work) should illustrate this question:
function test({ name = 'Bob', age = 18 }: { readonly name?: string, readonly age?: number }) {
// this should result in an error (but doesn't):
name = 'Lisa';
}
This interesting article has some infos how to achieve Immutability with parameters, but AFAIK, this doesn't work with default parameters.