最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • TS系列篇--TypeScript的诞生

    正文概述 掘金(金色小芝麻)   2021-08-07   675

    这是我参与8月更文挑战的第3天,活动详情查看:8月更文挑战

    一、JS的优缺点

    上一篇芝麻同学已经花费整整一篇来阐述了JS的产生背景,所以JS的优缺点也不言而喻了。

    1、JS的优点

    • 1)JS是一种具有函数优先的轻量级,解释型或即时编译型的编程语言(代码不进行预编译)。
      • 是基于浏览器内核为html添加生命力的脚本语言;
    • 2)弱类型脚本语言:(数据类型可以被忽略的语言,一个变量可以赋不同数据类型的值);
      • 因为弱类型,所以更加灵活,更易于学习,开发者可以更注重逻辑,不用花费太多时间关心语法的问题;
    • 3)跨平台特性:
      • 在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
    • 4)单线程,事件驱动
      • JavaScript对用户的响应,是以事件驱动的方式进行的。在网页(Web Page)中执行了某种操作所产生的动作,被称为“事件”(Event)。例如按下鼠标、移动窗口、选择菜单等都可以被视为事件。当事件发生后,可能会引起相应的事件响应,执行某些对应的脚本,这种机制被称为“事件驱动”。
    • 5)安全性:
      • JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。

    2、JS的缺点

    毕竟开发周期仅有10天,很多设计考虑的不够周到,而且在网景与IE浏览器交锋中诞生,对于老版本的IE浏览器肯定不会很友好。

    上面我们罗列了很多JS的优点,这些优点也同样是他的缺点

    • 1)JS只有在运行时,才会抛出错误(很容易埋下安全隐患)
      • 任何的拼写错误,都不会提示错误;
      • 运行时报的错,指向也未必是错误源头;
    • 2)因为是弱类型语言,所以维护成本比较大,不适合开发大型程序
    • 3)JS 没有类型的概念,声明的变量是动态类型, 虽然灵活易用但不易管理,例如:
      • 加号作为运算符,有两个含义,可以表示数字与数字的和,也可以表示字符与字符的连接。

    有关详细的JS设计的缺点推荐大家可以看下阮一峰老师的Javascript的10个设计缺陷

    二、TS的诞生

    • 由于 IE 的市场份额被谷歌 Chrome 攫取,微软在 2015 年使用开源 Chakra JavaScript 引擎打造了全新的 Edge 浏览器。但是到了这个时候,专注于 Web 标准,具备功能强大的 V8 JavaScript 引擎的谷歌Chrome 显然已经赢得了浏览器大战。

    • 浏览器大战结束了,谷歌构建了 ChromeHTML5 也在崛起。谷歌还构建了一个非常高效的 JavaScript 引擎,JavaScript 的效率大大提高了。

    • 那时,很多开发人员已开始为浏览器构建庞大的 JavaScript 应用程序,逐渐的发现JS在大型项目上的一些缺点(例如:缺乏诸如模块、类等关键功能。而且,缺乏一种通过程序中的规则来建立秩序的类型系统)

    我们还需要使用JS,那有什么能够帮助我们规避JS的缺点呢?

    • TypeScript 出现之前,微软打算将一种称为 Script Sharp 的工具转变为产品。但是 Hejlsberg 不确定这些开发人员是否愿意用另一种语言编写JavaScript代码。所以他开始想解决 JavaScript 的实际问题 关键是要向语言中添加类型系统,而且还不能影响那些让 JavaScript 如此流行的东西。

    • Hejlsberg 决定建立一个“可擦除类型系统”,这个组件使 TypeScript 成为 JavaScript 的超集。在编译时,TypeScript 会删除所有类型并将代码还原回 JavaScript

    从某种意义上说,它是一个 type system,只存在于开发人员编程期间,在运行时就会消失。不过在运行的时候,它给你带来的只有好处,没有任何缺点。

    思维导图

    TS系列篇--TypeScript的诞生

    参考文献

    [1].TypeScript之父:JS不是竞争对手,曾在惧怕开源的微软文化中艰难求生


    起源地下载网 » TS系列篇--TypeScript的诞生

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元