Typescript是什么,作用是什么,怎么实现的,优势是什么,劣势是什么

JavaScript 诞生于 1995 年,几乎是和互联网同时出现;

TypeScript 诞生于 2012 年,比 JavaScript 晚了 17 年左右。

TypeScript的作者:微软

而且微软把它开源了。

微软相信大家都相当熟悉,windows就是它最闪亮的产品,它一直是闭源的软件公司,但是架不住开源的浪潮,2012年了不开源吸引不了更多人参与。现在的TypeScript很火,优势明显,便与长期迭代,例如:蜂巢指纹浏览器(NestBrowser)经过选型以后最终都是选择TypeScript。

Typescript是什么,作用是什么

TypeScript是JavaScript类型的超集,它可以编译成纯JavaScript。

何谓超集,有超集就应该有子集。遍寻所有的搜索引擎,也没有发现TypeScript相对JavaScript超在哪里。原来是因为:

1、“超集”是官方的说法,因为TS最初的定位是不仅仅在JS上添加类型系统,而且会脱离tc39的进度,优先实现一些语法特性,所以说,TS是JS的超集。但后来TS团队发现,优先实现tc39的一些提案有坑,就是从最初的提案到最后落地,可能会完全走样。所以,后来TS团队就做了策略调整,语法特性就对齐当前落地的特性(已经实现的就算了),主要在类型系统以及类型推导的能力和体验做增强。

2、现状,TS可以认为就是带类型系统的JS,这样会让自己更好的理解和使用TS。

目标很远大,现实很残酷。微软也不得不暂时放弃高远,“超集”先放下,把现在的兼容性做好才是上策。但是不能排除以后TypeScript哪天突然就闭源了,突然就很多的超集功能冒出来!

带类型系统的TypeScript其实更让c,c++程序员们熟悉,蜂巢指纹浏览器(NestBrowser)选择TypeScript也是被team中的c,c++程序员们逼迫的,不得不给个赞。

Typescript怎么编译成Javascript

TypeScript通过TypeScript编译器或Babel转译为JavaScript代码。手工方法最直接。

1、TypeScript编译器官网:TypeScript: JavaScript With Syntax For Types.

        官网建议在Nodejs环境下或者Visual Studio中使用

        那么:

                a、先安装Nodejs

                b、全局安装tsc:npm install -g typescript

                c、命令行就可以使用:tsc x.ts生成x.js了

2、Babel转译为JavaScript代码,官网:Babel · The compiler for next generation JavaScript 或者访问:Babel 中文网 · Babel - 下一代 JavaScript 语法的编译器

        官网有个try it out的菜单,点击它就可以在线直接转换TypeScript到JavaScript。

        Nodejs项目都是配置成babel自动转化,只是自动化而已,根是一样的。

Typescript优势是什么,劣势是什么

优势:

Typescript 给 javascript 扩展了类型的语法和语义,让 javascript 代码达到了静态类型语言级别的类型安全,之前只能在运行时发现的类型不安全的问题,现在能在编译期间发现了,所以大项目越来越多的选择用 Typescript 来写。

具体表现为:

1、类型系统实际上是最好的文档,大部分的函数看看类型的定义就知道如何使用了。 2、可以在编译阶段就发现大部分的错误,这总比在运行时出错好。 3、增强了编译器和IDE的功能,包括代码补全,接口提示,跳转到定义,重构等。

劣势:

Typescript不自由了,写出来的代码没有那么风骚了。代码量也会增加几倍。需要定义一堆结构体和接口。

具体表现为:

1、有一定的学习成本,需要理解接口,泛型,类,枚举类型等前端工程师可能不是很熟悉的概念。这对c,c++,java等程序员不是问题,甚至倍感亲切。 2、短期内会增加开发成本,毕竟要多写一些类型的定义,不过对于一个需要长期维护的项目,Typescript能够减少其维护成本。 3、集成到构建流程需要的一些工作量。

最后不得不提一下Javascript的严格模式,对比Typescript

Javascript的严格模式

什么是严格模式? 在ECMAScript5标准中,JavaScript提出了严格模式的概念(Strict Mode)。它的对比项目就是:”懒散模式(Sloppy Mode)“。蜂巢指纹浏览器(NestBrowser)部分功能就选择直接使用JavaScript严格模式最小化代码封装的。

JavaScript语言的发展历程:

1、ECMAScript 5 也被称为 ES5 和 ECMAScript 2009。也就是说JS的语法规范2009年开始正式发布。

2、ECMAScript 6(简称ES6)是于2015年6月正式发布的JavaScript语言的标准,正式名为ECMAScript 2015(ES2015)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值