这是我参与8月更文挑战的第3天,活动详情查看:8月更文挑战javascript
"不畏惧,不将就,将来的日子好好努力"——你们好!我是小芝麻😄html
上一篇芝麻同窗已经花费整整一篇来阐述了JS的产生背景,因此JS的优缺点也不言而喻了。java
html
添加生命力的脚本语言;毕竟开发周期仅有10天,不少设计考虑的不够周到,并且在网景与IE浏览器交锋中诞生,对于老版本的IE浏览器确定不会很友好。编程
上面咱们罗列了不少JS的优势,这些优势也一样是他的缺点浏览器
有关详细的JS设计的缺点推荐你们能够看下阮一峰老师的Javascript的10个设计缺陷安全
既然
JS
有那么多缺点,那为啥不用新语言替换掉他呢?服务器
- 这个问题咱们在上一篇已经解释过了,微软曾经试图用
JScript
替换JS
,但最终迫于标准的压力仍是选择了放弃
因为 IE
的市场份额被谷歌 Chrome
攫取,微软在 2015
年使用开源 Chakra JavaScript
引擎打造了全新的 Edge
浏览器。可是到了这个时候,专一于 Web
标准,具有功能强大的 V8 JavaScript
引擎的谷歌Chrome
显然已经赢得了浏览器大战。markdown
浏览器大战结束了,谷歌构建了 Chrome
,HTML5
也在崛起。谷歌还构建了一个很是高效的 JavaScript
引擎,JavaScript
的效率大大提升了。网络
那时,不少开发人员已开始为浏览器构建庞大的 JavaScript
应用程序,逐渐的发现JS
在大型项目上的一些缺点(例如:缺少诸如模块、类等关键功能。并且,缺少一种经过程序中的规则来创建秩序的类型系统)编程语言
咱们还须要使用JS,那有什么可以帮助咱们规避JS的缺点呢?
在 TypeScript
出现以前,微软打算将一种称为 Script Sharp
的工具转变为产品。可是 Hejlsberg
不肯定这些开发人员是否愿意用另外一种语言编写JavaScript
代码。因此他开始想解决 JavaScript
的实际问题 关键是要向语言中添加类型系统,并且还不能影响那些让 JavaScript 如此流行的东西。
Hejlsberg 决定创建一个“可擦除类型系统”,这个组件使 TypeScript
成为 JavaScript
的超集。在编译时,TypeScript
会删除全部类型并将代码还原回 JavaScript
。
从某种意义上说,它是一个 type system
,只存在于开发人员编程期间,在运行时就会消失。不过在运行的时候,它给你带来的只有好处,没有任何缺点。
TypeScript 最初是个微软内部项目,叫 Strada,致力于提高大型 JS 项目。
- 2010 年开始开发,
- 2012 年 10 月发布了第一个开源版本,持续迭代至今