TypeScript分享PPT

前言

TypeScript也用了很久,之前做RN应用,以及Ionic应用的时候时候,用的最多的就是TypeScript,进入到新公司之后,反而做的更偏前的堆码工,感觉也还是不能把之前的技术给遗忘的。

正好,公司新员工都需要做技术分享,那么趁此机会,就先把TypeScript这门优秀的编译语言分享出来

What is TypeScript ?

  1. TypeScript = Typed + JavaScript ?
  2. TypeScript = JavaScript + OOP
  3. TypeScript = JavaScript + extends

其实上述说法都没有绝对的错误,TypeScript要达到的目的,也是想要规范化JavaScript中的类型系统。

我们都知道,JavaScript是一门弱类型语言,虽然足够灵活,但是却也经常让我们头疼不堪,尤其是开发大型应用的时候,更是会被里面的各种越界搞得心烦气躁。基于此,微软开发了TypeScript这个JavaScript超集,它给予JavaScript类型检查系统,扩展了JavaScript语法,并且和JavaScript共同的运行时,如果要迁移的话,你几乎不需要做任何更改就可以直接运行代码。

Facebook之前推出过Flow也是为JavaScript做类型检查,不过发展趋势一直不愠不火。

而TypeScript发展趋势现如今可以说是如火如荼,权威调查机构RedMonk编程语言排行榜公布有史以来发展最快的语言:TypeScript。TypeScript也在2019年六月第一次挤进编程语言应用排行榜前十!

这一切都说明TypeScript是一门优秀的编程语言,学习TypeScript来丰富你的前端架构肯定是一个不错的选择。

和babel类似,TypeScript也可以将ES6以及ES6+的语法直接编译成ES3、ES5,而babel7之后,也开始支持TypeScript。

Angular早就用TypeScript开重构他们的代码,Vue已经进入到了重构进程,而React也有将代码重构成为TypeScript的意向,可以说,TypeScript是现如今JavaScript这门编程语言衍生出来的最流行的ES6框架。

TypeScript和JavaScript

JavaSript 类型: Boolean、Number、String、Array、Function、Object、Symbol、undefined、Null

TypeScript类型:Boolean、Number、String、Array、Function、Object、Symbol、undefined、Null    +    void、any、never、元组、枚举、高级类型、联合类型等扩展类型

TypeScript中的扩展内容

  1. class: Ts对ES6的类做了扩展,以支持private、public(默认)、protected属性,以及可以定义abstract抽象类,以及可以用类来实现接口
  2. Interface: 可以用来定义数据格式,以及类型接口声明,接口支持多继承,而类实现接口需要将接口定义中的成员全部实现。
  3. 泛型:function Add<T>(<T>[]): T,在编译时可以确定的类型的一种动态定义方式,增加了TypeScript的灵活性。就是有些难看懂。
  4. 枚举: enum A {test, fork, publish }, 枚举相当于是一个数据自映射对象的视线,默认从0开始,依次+1,或者可以自定义为其他类型和从number x开始,x为任意数字
  5. 联合类型: function print(a: number | string) { console.log(a) }, 这里定义的a就是联合类型,联合类型表示a既可以是string也可以是number类型
  6. 交叉类型:function print(a: number & string) { console.log(a.x + a.y) }, 这里定义的a就是交叉类型,交叉类型一般定义对象表示a的成员x,y是string和number类型

结尾

先粗略的介绍到这里,分享的PPT里面有详细的类型以及各种类型的操作方式和注意事项,感兴趣的可以下载自己观看,也有相应的代码贴图,看起来要更容易一些。

这篇文章纯粹自我记录,用于激励自己开始新的人生篇章,开始专注于自身的提高和技术的分享,接下来的日子,将会对所用所学技术做细致的分析和探究,到时候也会出一些有深度的文章,也在于鞭策自己不忘初心,砥砺前行。