Appearance
无序参数
参数列表的有序
当我们定义一个函数时,其参数列表是有序的,
比如下方定义的 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) {
// ...
}
}