TS函数规范,类型限制 void

在TS中函数也可以限制类型
这个限制的类型是对于返回值的限制
例如你的方法执行完会返回一个数字 那你就可以这样写

function Pretreatment(): number{
    
    
  console.log('我返回111');
  return 111;
}

返回一个字符串

function immediately(): String{
    
    
  console.log('我返回一段文字');
  return '一段文字';
}

以此类推 但如果我们的方法不需要返回值呢?
确实官方给我准备了void 无返回类型

function NoType(): void {
    
    
  console.log('我没有返回值');
}

当然 你也可以直接写

function NoType() {
    
    
  console.log('我没有返回值');
}

TS本身也支持ES5的写法 但既然已经选TS开发了 为什么不写规范一点呢?

当然 除了返回值 还有函数还有参数
那么我们看一下

var LimitingParameters = function(name:String,age:number): void{
    
    
  console.log(name);
  console.log(age);
}
LimitingParameters('小猫猫',111);

简单说 就是我这个方法的第几个参数只能说某一种类型的 否则报错 这样后面的维护者一看就知道怎么传了

但这种时候 又出现一个疑问 如果我有点参数要做成可传可不传的呢?
只需要在可传可不穿的参数前加一个问号即可

var LimitingParameters = function(name?:String,age?:number): void{
    
    
  console.log(name?name:'name未传递');
  console.log(age?age:'age未传递');
}
LimitingParameters('小猫猫');

这边可选参数不需放在方法的最后 如果有五个参数 其中有一个name是可不穿的 那name必须放在最后 这个确实你们试一下就知道为什么了

说到不传 确实ES6和TS还放出了默认参数

var LimitingParameters = function(name?:String='名称',age?:number=22): void{
    
    
  console.log(name);
  console.log(age);
}
LimitingParameters('小猫猫');

简单说 你传了用你传的值 你不传 用默认值

猜你喜欢

转载自blog.csdn.net/weixin_45966674/article/details/124083113