动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

带你全面了解TypeScript基础知识

07-23 15:05 181浏览
举报 T字号
  • 大字
  • 中字
  • 小字

TypeScript是流行的JavaScript编程语言的变体,它添加了一些对于企业开发来说很重要的关键功能。尤其TypeScript是强类型的程序员可以将变量和其他数据结构声明为特定类型,例如字符串或布尔值,并且TypeScript将检查其值的有效性。这在松散类型的 JavaScript中是不可能的。

TypeScript强大的键入功能使许多功能成为可能,这些功能有助于使开发人员更加高效,尤其是在处理大型企业级代码库时。TypeScript是经过编译的,而不是像JavaScript那样进行解释,这意味着可以在执行之前捕获错误。执行后台增量编译的IDE可以在编码过程中发现此类错误。

尽管与JavaScript有关键的区别,但TypeScript仍可以在可以运行JavaScript的任何地方执行。这是因为TypeScript不会编译为二进制可执行文件,而是会编译为标准JavaScript。

TypeScript是JavaScript 的超集。尽管任何正确的JavaScript代码也都是正确的TypeScript代码,但TypeScript还具有不属于JavaScript的语言功能。如前所述,TypeScript独有的最突出的功能——TypeScript命名的功能是强类型化:TypeScript变量与一种类型相关联,例如字符串,数字或布尔值,它告诉编译器什么样的数据它可以容纳。另外,TypeScript确实支持类型推断,并包含所有类型的所有类型,这意味着变量不必由程序员显式分配其类型。

TypeScript还用于设计面向对象的编程JavaScript中不直观的诸如继承和访问控制之类的概念很容易在TypeScript中实现。另外,TypeScript允许实现接口,这在JavaScript世界中是一个毫无意义的概念。就是说,我们无法使用TypeScript进行编码,也无法使用JavaScript进行编码。这是因为TypeScript不是按常规意义编译的,例如C ++被编译为可以在指定硬件上运行的二进制可执行文件的方式。相反,TypeScript编译器将 TypeScript代码转码为功能等效的JavaScript。然后,可以从Web浏览器到配备Node.js的服务器,在任何JavaScript代码可以运行的任何地方运行生成的JavaScript因此,如果说TypeScript只是一种生成JavaScript代码的好方法,那为什么还要麻烦地研究它呢?要回答这个问题,我们需要查看TypeScript的来源以及其用途。

   Microsoft内部开发后,TypeScript于2012年作为开源发布。当时的ZDNet文章对发生这种情况的原因提供了一个有趣的了解:“事实证明,最大的动机之一是试图开发的其他Microsoft团队的经验。并使用JavaScript维护Microsoft产品。”当时,Microsoft试图扩大Bing Maps的规模以使其成为Google Maps的竞争对手,并提供其Office套件的Web版本-JavaScript是该任务的主要开发语言。但是,从本质上讲,开发人员发现很难使用JavaScript编写与Microsoft旗舰产品相当的应用程序。因此,他们开发了TypeScript,以使其更易于构建可在JavaScript环境中运行的企业级应用程序。这是TypeType 官方项目站点上的语言标语的精神:“可扩展的JavaScript”。

为什么TypeScript在工作上比普通JavaScript更好?尽管我们可以永无休止地争论一下面向对象编程的优点,但是现实是,许多从事大型企业项目的软件开发人员已经习惯了它,并且随着项目规模的扩大,它有助于代码重用。也不应该忽略工具可以在多大程度上提高开发人员的生产力。如前所述,大多数企业IDE支持后台增量编译,可以在工作时发现错误。(只要您的代码在语法上是正确的,它仍然可以进行翻译,但是生成的JavaScript可能无法正常工作;将错误检查等同为拼写检查。)这些IDE还可帮助在深入学习代码时重构代码

简而言之,当想要Java之类的语言的企业功能和工具,但需要在JavaScript环境中执行代码时,可以使用TypeScript。从理论上讲,可以编写TypeScript编译器自行生成的标准JavaScript,但是这将花费更长的时间,并且对于大型团队来说,集体理解和调试代码库变得更加困难

除此之外,TypeScript还有另外一个巧妙的窍门:可以将编译器设置为针对特定的JavaScript运行时环境,浏览器甚至语言版本。由于任何格式正确的JavaScript代码也都是TypeScript代码,因此可以采用编写到ECMAScript 2015规范的代码,其中包括许多新的语法功能,然后将其编译为与旧版本的兼容的JavaScript代码。

TypeScript也可以作为选择的IDE的插件安装,这将为提供上面我们所讨论的工具优势,并且还会处理将TypeScript编译为JavaScript的过程。由于TypeScript是由Microsoft开发的,因此可以为Visual Studio和Visual Studio Code提供高质量的插件就不足为奇了。但是,作为一个开放源代码项目,TypeScript已得到无处不在的适应,从像Eclipse这样的开源IDE 到像Vim这样的古老文本编辑器。整个项目可以从GitHub浏览和下载。一旦安装了TypeScript,就可以开始你的探索之旅了,这意味着开始了解TypeScript语法的基础。由于JavaScript是TypeScript的基础,因此在开始之前,需要熟悉JavaScript。

显然,TypeScript中最重要的语法功能是类型系统。该语言支持多种基本类型:

1.布尔值:简单的true / false值。

2.数字:在TypeScript中,就像在JavaScript中一样,所有数字都是浮点值-没有单独的整数。TypeScript支持十进制,十六进制,二进制和八进制文字。

3.字符串:文本数据的字符串。设置数据时,可以使用单引号或双引号将字符串引起来。

4.数组和元组:这些类型可以按指定顺序存储多个值。在数组中,各个值都是相同的数据类型,而在元组中,它们可以是异构的。TypeScript forEach()方法用于在数组中的每个元素上调用函数。

5.枚举:与C#中相同名称的类型一样,TypeScript枚举可以将人类可读的名称分配给一系列数字值。

6.任意:这是变量的一种类型,不必事先知道该变量的最终值-例如,它可以从用户输入或第三方库中获取其值。

7.对象:这是代表任何不是原始类型的类型的类型;这对于TypeScript的面向对象性质至关重要。

有两种不同的方式将类型明确分配给变量。第一个是尖括号语法:

let someValue :any = “这是一个字符串” ;

let strLength :number = (< 字符串> someValue )。长度;

第二个是as语法:

let someValue :any = “这是一个字符串” ; let strLength :number = (someValue as string )。长度;

这些代码片段(来自TypeScript文档)在功能上等效。两者都定义someValue为type的变量any并为其指定"this is a string"值,然后将其定义strLength为数字并将其内容的长度指定为值someValue。

 

TypeScript类型也可以通过推断来设置。也就是说,如果在不建立x类型的情况下将x的值设置为7,则编译器将假定x应该是数字。在某些情况下,编译器可能会推断出一个any类型,尽管可以使用编译标志来确保不会发生这种情况

TypeScript类型系统非常丰富,已经超出了本文的范围。有许多高级和实用程序类型。其中包括并集类型,它可以确定变量将是几种指定类型之一,而映射类型则是可以根据现有类型创建的类型,在其中可以将现有类型中的每个属性转换为相同类型方式。例如,可以为一个变量创建一个联合类型,该变量可以是数字或布尔值,而不是字符串或其他任何东西。或者可以创建一个映射类型,将数组中的所有元素设置为只读。

本文尽可能详细地向大家介绍了TypeScript,相信大家对这门语言有了一定的认识,感兴趣的话可以深入地了解一下,动手下载安装TypeScript亲身去体会它的奥妙吧。

0人推荐
共同学习,写下你的评论
0条评论
进击的女程序猿
程序员进击的女程序猿

5篇文章贡献36700字

作者相关文章更多>

推荐相关文章更多>

DOM渲染的详细过程

QCode09-04 14:38

CSS水平和垂直居中技巧大梳理

Code大师09-04 14:50

mui的input框在IOS系统下无法聚焦或点击多次才能聚焦

不写代码你养我啊08-23 11:14

推荐的-视.频播放器以及在线客服

不写代码你养我啊09-17 18:02

谈谈java多线程的三大特性

要学习了06-18 18:13

发评论

举报

0/150

取消