加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 建站 > 正文

一文学懂TypeScript的类型

发布时间:2019-03-23 12:10:20 所属栏目:建站 来源:疯狂的技术宅
导读:副标题#e# 你将学到什么 阅读本文后,你应该能够理解以下代码的含义: interfaceArrayT{ concat(...items:ArrayT[]|T):T[]; reduceU( callback:(state:U,element:T,index:number,array:T[])=U, firstState?:U):U; } 如果你认为这段代码非常神秘 那么我同意

标识符后面的问号表示该参数是可选的。例如:

  1. function stringify123(callback?: (num: number) => string) {  
  2.   const num = 123;  
  3.   if (callback) {  
  4.     return callback(num); // (A)  
  5.   }  
  6.   return String(num);  

在 --strict 模式下运行 TypeScript 时,如果事先检查时发现 callback 没有被省略,它只允许你在 A 行进行函数调用。

参数默认值

TypeScript支持 ES6 参数默认值:

  1. function createPoint(x=0, y=0) {  
  2.   return [x, y];  

默认值可以使参数可选。通常可以省略类型注释,因为 TypeScript 可以推断类型。例如它可以推断出 x 和 y 都是 number 类型。

如果要添加类型注释,应该这样写:

  1. function createPoint(x:number = 0, y:number = 0) {  
  2.   return [x, y];  

rest 类型

你还可以用 ES6 rest operator 进行 TypeScript 参数定义。相应参数的类型必须是数组:

  1. function joinNumbers(...nums: number[]): string {  
  2.     return nums.join('-');  
  3. }  
  4. joinNumbers(1, 2, 3); // '1-2-3' 

Union

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读