Skip to content

Bad inference for destructured object parameter with default value #22644

Closed
@OliverJAsh

Description

@OliverJAsh

TypeScript Version: 2.7.2

Search Terms: object literal parameter inference destructuring default value

Code

const fn1 = (options: { headers?: {} }) => {};
// No error as expected
fn1({ headers: { foo: 1 } });

const fn2 = ({ headers = {} }) => {};
// Unexpected error: Property 'foo' does not exist on type '{}'.
fn2({ headers: { foo: 1 } });

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptFixedA PR has been merged for this issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions