typescript 好不好学?

花了一周时间,把ts的基础知识学明白了。

现在,谈谈感受。

1.这门语言诞生背景

js没有编译器,没法在静态(编译时的状态,就叫静态,运行时状态,叫动态)对类型检查。只能在运行时才能检查类型对错。造成问题是,编码不能自动提示(为什么呢?),运行时才报错,不利于大项目的质量控制。相对来说,强类型,编译型语言,就非常安全,因为编译器是很强大的助手,能发现问题。比如,java,c#,c++都是如此。其实,动态语言都有js的问题。

2.ts是怎么解决的

微软公司创建了ts语言,编写ts编译器;程序员负责写ts文件,用ts编译器(tsc)编译ts文件,生成js文件,支持es5, es6所有版本;

ts是静态语言,js是动态语言。ts号称是js超集;c++是c的超集,所以,c++可以直接用c语言语法书写;ts也可以直接用js语法写代码,编译不报错。

3.ts相对于js增加了什么东西

  • 创造了新的基础类型
  • 创造了接口概念,这个接口很另类,如果学过c#,肯定会懵逼,因为,跟c#区别挺大。它的设计思想是基于鸭子类型。就是说,签名相同的类,或者接口,就可以认为是一个东西。不需要继承特定的接口和类。
  • 创造了类
  • 创造了字面量类型,数字类型。这两种类型组合,可以实现并类型,交类型。
  • 创造了枚举类型
  • 创造了泛型

语法和特性都是从c#山寨过来的优秀特性,让ts成为,仅次于java,第三像c#的语言。

对.net 程序员太友好了,越看越顺眼。

ts可以用于后台开发,也可以用在前台。

vuejs,reactjs都已经支持ts了,就是说,用ts重写源代码。

听说,国内公司,也开始普及ts开发了,具体情况不了解。

4.关于接口

  • ts的接口很重要,能定义构造器,属性,方法,索引类型(就是数组),类
  • 接口可以继承类
  • 接口的定义格式很难理解,很烧脑。

5.gulp开发

推荐用gulp组织代码,构建代码,开发项目

6.参考资料

  • https://www.typescripttutorial.net/typescript-tutorial
  • https://www.typescriptlang.org/docs/

7.学习工具

官网的文档,在例子代码区域悬停,右下角可以看到try链接,点开,就可以进入在线编辑演示工具,编写代码,可以看到执行结果,生成js文件源码。

极度推荐这个工具,对理解概念,十分有用,多敲敲,多练练,很快就能理解。

8.目前疑问

  • 如何调用其他js模块
  • 如何用gulp开发一个项目
原文地址:https://www.cnblogs.com/maoyan/p/14408935.html