13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

半天掌握TypeScript,感觉就像写Java

本文转载自微信公众号「小姐姐味道」,作者小姐姐养的狗 。转载本文请联系小姐姐味道公众号。 

前端那么多酷炫的东西,真是太好玩了。但是,JavaScript是个拦路虎,尤其是熟悉了Java之类的强类型检查语言之后,每次看到js都感觉不爽。作为一个后端,写JavaScript真的是有一种写吐了的感觉。万幸现在有了更好的选择。

为什么要学习TypeScript呢?因为它的语法和Java真的很像。有了这个东西,就可以摆脱恼人的JavaScript,拥抱前端的技术栈。

TypeScript是JavaScript的超集。意思就是在ts中可以直接书写js。在我的第一感觉里,js就像是编译后的可执行文件,而ts就像是Java语言,或者Scala语言等。不过,这也只是类比而已,ts中的很多语法,其实大多数是编译期用的,在真正的js文件里,抹除了很多的信息。

如上图,ts文件通过tsc编译器,生成普通的js文件。接下来,就可以使用node命令执行这个普通的js文件。

下面是一段简单的ts代码。是不是和Java很像?

 
 
 
 
  1. class Animal { 
  2.     public name; 
  3.     protected a; 
  4.     private b: string; 
  5.     constructor(name) { 
  6.         this.name = name; 
  7.     } 
  8.     sayhi() { 
  9.         return `my name is ${this.name}`; 
  10.     } 
  11. class Cat extends Animal { 
  12.     constructor(name) { 
  13.         super(name) 
  14.     } 
  15.     sayhi() { 
  16.         return "meow " + super.sayhi() 
  17.     } 
  18.     static iaAnimal(a) { 
  19.         return a instanceof Animal; 
  20.     } 
  21. function gen(name: T): void { 
  22.     console.log(name.name) 

下面简单介绍一下一些基本的语法,当然了,有些语法是ES6的,但我也把它揉在一块了。

类型相关

由于js是一门弱类型的语言,有很多的运行时转换,就不能使用类似于Java一样的强类型转换方式,所以typescript可以在编译阶段通过语言特性增强一些类型检查的功能。而在运行时,大多数根本就没有这样的判断,所以ts更像是一个过程工具。

对于一门语言来说,肯定离不开基本数据类型和自定义类型。ts提供了一系列的关键字作为特殊类型代号,其他的都好说,唯一让我有点兴趣的是联合类型,这非常有趣的一个特性。

声明相关

那什么是declare呢?私以为这个类似于python中的__init__.py文件,用于暴露一些接口和函数,另外为代码自动补全提供了基本数据。

两个默认的约定。配置了tsconfig.json以后,可以直接执行tsc命令进行编译。///三斜杠指令,很丑。

关于Class

从Java过来的同学,会发现这些概念和Java是类似的,不过ts的语法更加简单。

关于type、interface、class

开发工具

tsc是typescript的编译器。如果编译出错,可以指定底层的语法特性。

 
 
 
 
  1. tsc --target es6 

建议配置在tsconfig.json文件里,会被自动识别。

 
 
 
 
  1.     "compilerOptions": { 
  2.         "module": "commonjs", 
  3.         "outDir": "lib", 
  4.         "declaration": true, 
  5.         "target":"es6" 
  6.     } 

vscode,通过.d.ts文件,可以做到自动补全和语法检查。但针对于复杂的个性化配置,还是无法做到类似idea那样智能的提示和配置。

由此造成的后果就是,手头上必须有一份参考文档,并对参考文档的目录和功能熟悉。在遇到相应的配置参数时,不得不翻阅到相应的地方,然后拷贝过来。这对于一个javaer来说,实在是太痛苦了。

作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,进一步交流。


新闻标题:半天掌握TypeScript,感觉就像写Java
标题URL:http://cdbrznjsb.com/article/dpggjcg.html

其他资讯

让你的专属顾问为你服务