其他分享
首页 > 其他分享> > typecscript中带可选属性的可选参数写法

typecscript中带可选属性的可选参数写法

作者:互联网

ES6 扩展了可选属性,TS 又扩展了类型语法,因此可以实现将引用类型的函数参数设置为:带默认值,同时该参数的属性又可选择性提供。这样就能更灵活地使用函数参数。

函数定义:

function func(options: {option1?: number, option2?: boolean, options3: Type1 } = { 
  options1: 1, 
  options2: true, 
  options3: 一个Type1类型的值 
}): 返回值类型 { ... }

调用函数:

func(); // 参数使用全部属性的默认值
func({option1: 2}); // 只指定一个属性的值
func({option1: 2, option2: false}); // 指定两个属性的值
func({option1: 2, option2: false, option3: 另一个Type1类型的值}); // 指定三个属性的值

值得注意的是,这里的参数默认值是必须的,否则参数没传值,各属性本身又没有默认值,则函数被调用时,该参数无法正常处理。

如果未设置引用类型参数的默认值,同时把参数设置为可选参数(function func(options?: {...} ): 返回值类型 { ... // 函数体 }),也是符合 TS 语法的。但在访问参数的属性值时,需要使用 ?. 操作符;此外,如果需要对属性值执行其他操作,可能还需要在函数内做非空判定。

标签:中带,可选,option1,typecscript,参数,func,类型,默认值,属性
来源: https://www.cnblogs.com/cjc-0313/p/16378327.html