Javascript Typescript对象作为函数参数 转换:{ WebPackageConfiguration?:ExecutionTransformer, } = {}
在阅读Angular项目的一些代码时,我发现上面的这段代码作为函数参数传递。在我的理解中,参数Javascript Typescript对象作为函数参数 转换:{ WebPackageConfiguration?:ExecutionTransformer, } = {},javascript,angular,typescript,object,arguments,Javascript,Angular,Typescript,Object,Arguments,在阅读Angular项目的一些代码时,我发现上面的这段代码作为函数参数传递。在我的理解中,参数transforms是一个具有一个键值对的对象,?意味着webpackConfiguration是可选的,这让我感到困惑,因为它是唯一的键值对条目。上面代码末尾的={}是什么意思?如果您不提供它,它是transforms参数的默认值。=后面的任何内容都被视为默认值,因此,在这种情况下,如果不将值传递给函数,转换将被设置为新的空对象{}。以以下函数fun为例: transforms: { webpa
transforms
是一个具有一个键值对的对象,?
意味着webpackConfiguration
是可选的,这让我感到困惑,因为它是唯一的键值对条目。上面代码末尾的={}
是什么意思?如果您不提供它,它是transforms
参数的默认值。=
后面的任何内容都被视为默认值,因此,在这种情况下,如果不将值传递给函数,转换
将被设置为新的空对象{}
。以以下函数fun
为例:
transforms: {
webpackConfiguration?: ExecutionTransformer<webpack.Configuration>,
} = {}
如果您不提供
arg1
,它将被设置为{}
,如果您不提供arg2
,它将在函数fun
中被设置为false
,如果您不提供,它是转换的默认值?有意义!谢谢你的回复。
function fun(arg1: { bool?: true } = {}, arg2: boolean = false) {
}