[青训营笔记|深入浅出typescript]

78 阅读2分钟

Ts是js的超集,用于解决大型项目的代码复杂性;强类型,支持静态和动态模型;可以在编译期间发现并纠正错误;不允许改变变量的数据类型。Js是一种脚本语言,用于创建动态网页;动态弱类型语言;只能在运行时发现错误;变量可以被赋值成不同类型。Ts的基础类型有布尔型,数字型,字符串型,枚举类型等;函数类型有定义,输入参数,输出参数和函数重载(定义多个类型的输入参数,会进行重载)。接口是为了定义对象类型,可以描述函数类型,可以描述自定义属性。类增加了public、private等修饰符,抽象类只能被继承,不能被实例化,作为基类,抽象方法必须被子类实现(类似于java)。在Ts的高级类型中,分为联合类型|,交叉类型&,类型断言和类型别名。类型别名中相同点是都可以定义对象或函数,都允许被继承;差异点有type用来定义别名方便使用,type可以定义基本类型,接口不行;接口可以合并重复声明,type不行。泛型程序设计是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。Ada、Delphi、Eiffel、Java、C#、F#、Swift和 Visual Basic .NET称之为泛型;ML、Scala 和 Haskell称之为参数多态;C++ 和 D称之为模板泛型的基本定义是<>里面写类型参数,一般用T表示,使用时可以指定类型:定义要使用的类型;通过Ts类型推断,自动推导类型;作用是临时占位,之后通过传来的类型进行推导。泛型操作符包括typeof:获取类型;keyof:获取所有键等。常用工具类型包括partital:将类型属性变为可选;required:将类型变为必选等。