interface Obj{ x?:number y?:number } function foo({x,y=5}:Obj={}){ console.log(x,y) } foo({x:5}) foo() foo({x:1,y:1})