=== tests/cases/conformance/es6/destructuring/optionalBindingParameters2.ts === function foo({ x, y, z }?: { x: string; y: number; z: boolean }) { >foo : ({ x, y, z }?: { x: string; y: number; z: boolean;}) => void >x : string >y : number >z : boolean >x : string >y : number >z : boolean } foo({ x: "", y: 0, z: false }); >foo({ x: "", y: 0, z: false }) : void >foo : ({ x, y, z }?: { x: string; y: number; z: boolean; }) => void >{ x: "", y: 0, z: false } : { x: string; y: number; z: false; } >x : string >"" : "" >y : number >0 : 0 >z : false >false : false foo({ x: false, y: 0, z: "" }); >foo({ x: false, y: 0, z: "" }) : void >foo : ({ x, y, z }?: { x: string; y: number; z: boolean; }) => void >{ x: false, y: 0, z: "" } : { x: boolean; y: number; z: string; } >x : boolean >false : false >y : number >0 : 0 >z : string >"" : ""