Cuando trato de usar el parámetro de función predeterminado con mecanografiado, dice 'tipo' A | null' no es asignable al parámetro A'.
type Pagination = { page: number pageSize: number } interface SomeArgument { title: string pagination: Pagination | null } function func (arg:SomeArgument ) { const {title, pagination = {page: 1, pageSize: 20} } = arg test(pagination) // --^^^^^^^^^^^ Argument of type 'Pagination | null' is not assignable to parameter // of type 'Pagination'. // Type 'null' is not assignable to type 'Pagination'.(2345) return { title, pagination } } function test ( pagination: Pagination){ console.log(pagination) }Así que lo cambio como
function func (arg:SomeArgument ) { let { title, pagination } = args if(!pagination){ pagination = {page: 1, pageSize:20} } test(pagination) return { title, pagination } }y funciona pero crea un contexto condicional innecesario.
algo mejor?