Skip to content
On this page

无序参数

参数列表的有序

当我们定义一个函数时,其参数列表是有序的,

比如下方定义的 getUrlParams1() 函数,我们想要直接传递值给 isNeedDecode 参数是不行的,必须先传递前面两个参数。

并且为函数参数设置默认值也依赖于函数参数的顺序。

function getUrlParams1(name: string, url: string, isNeedDecode: boolean) {
  // ...
}

使用对象参数

当我们将函数参数定义为一个对象时,对象的键值对是无序的,可以很方便地设置默认值,比如下方的 getUrlParams2() 函数

interface Options {
  url?: string
  isNeedDecode?: boolean
}
function getUrlParams2(name: string, options: Options = {}) {
  const { url, isNeedDecode = false } = options
  if (url) {
    // ...
  }
}