関数の引数で optional なオブジェクトを分割代入しつつ初期値を設定する

created at: 2021-09-28

history

コード

interface Options {
  foo?: string
  bar?: string
}

const func = ({ foo = 'foo', bar = 'bar' }: Options = {}) => {
  return foo + bar
}

func()
// => foobar

func({})
// => foobar

func({ foo: 'bar' })
// => barbar

func({ foo: 'foo', bar: 'foo' })
// => foofoo