打字稿对象作为函数参数

时间:2020-07-05 09:32:38

标签: javascript angular typescript object arguments

transforms: {
   webpackConfiguration?: ExecutionTransformer<webpack.Configuration>,
} = {} 

从Angular项目中读取一些代码时,我发现上面的代码作为函数参数传递。在我的理解中,参数transforms是具有一个键值对的对象,?意味着webpackConfiguration是可选的,这使我感到困惑,因为它是唯一的键值对条目。 = {}在上面代码的末尾是什么意思?

1 个答案:

答案 0 :(得分:1)

这是transforms参数的默认值,以防您不提供它。 =之后的所有内容均被视为默认值,因此,在这种情况下,如果不向函数传递值,则transforms将被设置为新的空对象{} 。以以下功能fun为例:

function fun(arg1: { bool?: true } = {}, arg2: boolean = false) {

}

如果您不提供arg1,则将其设置为{};如果您不提供arg2,则将其设置为false。函数fun

相关问题