***给博主点赞,送一套Webpack打包配置,最下方有介绍***
TypeScript VS prop-typestypescript
1.TypeScript是静态类型检查,prop-types是在运行时进行检查。 前者会提示你类型有误,但在浏览器里是能够正常运行的。而 prop-types是在浏览器里就会给出提示。 2.PropTypes是组件接收prop的约束,而typescript类型约束主要是参数传递以及返回值的约束,侧重点不同
1.基础类型数组
boolean number string any[] number[] string[] {另外一种写法 Array[any] } void Object
2.断言浏览器
let strlength:number= (somevalue as string).length 目的:防止somevalue因为类型错误致使页面报错
3.接口类型ui
interface Label{ label:string }
4.经过extends 来继承类
5.默认参数spa
(1).必填的放前面; (2).选填加问号
6.多参数类型定义rest
function buildName(firstName: string,...restOfName:any[]){ }
7.泛型code
泛型就是解决 类 接口 方法的复用性、以及对不特定数据类型的支持(类型校验) 泛型:软件工程中,咱们不只要建立一致的定义良好的API,同时也要考虑可重用性。组件不只可以支持当前的数据类型,同时也能支持将来的数据类型,这在建立大型系统时为你提供了十分灵活的功能。 在像C#和Java这样的语言中,可使用泛型来建立可重用的组件,一个组件能够支持多种类型的数据。 这样用户就能够以本身的数据类型来使用组件。
例子:对象
function getData<T>(value:T):T{ return value }
8.兼容性blog
变量赋值的兼容性,赋值以后应该对旧值的属性要求有没有改变才容许赋值
9.交叉类型继承
就是说这个类型的对象同时拥有了这三种类型的成员
10.联合类型
padding: any 转成 padding: string | number 可是当访问联合类型时,只能访问共有成员,避免出错,须要类型断言
11.迭代器和生成器
let pets = new Set(["Cat", "Dog", "Hamster"]); pets["species"] = "mammals"; {...pets} //{species: "mammals"} [...pets] // ["Cat", "Dog", "Hamster"] 很无敌,对象和数组都放在一块儿了
12.模块
export和import均可以导出重命名 ts官方文档如是说:TypeScript和ECMAScript2015同样,任何包含顶级import或者export的文件都被当成一个模块。其实,也不必定是顶级。以上就是对什么叫模块的简单认知。
13.声明合并
interface Box { height: number; width: number; } interface Box { scale: number; } let box: Box = {height: 5, width: 6, scale: 10};
须要的联系博主