Skip to content

Bad inference for destructured object parameter with default value #22644

@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
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions