解惑ECMAScript/JavaScript/TypeScript和CoffeeScript等概念

  • Ecma 是国际计算机制造商协会。在1994年之前,全名为欧洲计算机制造商协会(European Computer Manufacturers Association),后来更名为Ecma国际(Ecma International)
  • ECMAScript 是Ecma组织制定的标准化脚本语言,JScript和JavaScript语言是参考这个标准来实现的。
  • ECMAScript标准也是有不同的版本:早在2009年12月份ECMA就发布了ECMAScript5 ,然后在2015年6月份发布了ECMAScript6(官方称ECMAScript2015)。
  • ECMAScript6的目标是使得JavaScript语言可以用来编写大型的复杂的应用程序,于是增添了许多特性,例如:模块和类,Maps、Sets、Promises、生成器(Generators)等。
  • 尽管ECMAScript6做了大量的更新,但标准化委员会仍然决定要兼容以前的版本,但随之而来的问题是,目前主流的宿主环境(无论是浏览器环境还是服务器环境)不能完全支持ES6,导致了开发者真正要使用ECMAScript6时,需要将ECMAScript6代码进行转译。
  • TypeScript 是一种微软开源的编程语言。由于JavaScript是弱类型的,TypeScript为JavaScript扩展类和模块的概念。正是由于TypeScript最大的特点是类型化,因此才叫做TypeScript。
  • TypeScript支持ECMAScript6标准(实际上相当于是对ECMAScript6的提前实现),并且能将代码根据需求转换为 ES 3 / 5 / 6。这意味着开发者可以通过TypeScript使用最新的ECMAScript特性,无需再考虑兼容性的问题。
  • 和TypeScript 相似的工具语言还有很多,主要分为两个阵营:
    • 一个是类似 Babel 的阵营,坚持JavaScript 的语法风格编写,为开发者提供最新的 ECMAScript 特性;
    • 另一个则是Coffeescript、Clojure、Dart等的阵营,它们的语法与 JavaScript 迥然不同,但最终会编译为JavaScript;
  • Dart、CoffeScript和TypeScript对比和思考:
    • CoffeeScript从2009年出现到现在,已十分成熟。从语法上看,CoffeeScript更像Ruby,写起来比较随意,而TypeScript更接近于C#。然而TypeScript正在超越CoffeeScript,成为大家的首选。

      解惑ECMAScript/JavaScript/TypeScript和CoffeeScript等概念_第1张图片
      CoffeeScript官网 2016/11/12截图.png

    • TypeScript是通过类似于垫片(Shim)的技术进行代码转化,生成与现有js完全兼容的代码,从本质上讲它就是JavaScript。另外,由于TypeScript 是微软的产品,所以在Visual Studio工具上有良好的支持。

      解惑ECMAScript/JavaScript/TypeScript和CoffeeScript等概念_第2张图片
      TypeScript官网 2016/11/12截图.png

    • Dart最初是由 Google 的 Chrome V8 团队打造。与TypeScript编译JavaScript代码不同,Dart是跳过翻译的步骤,直接在浏览器里面嵌入一个 Dart 解释引擎与 V8 并行。相比起TS和CS,使用Dart的人相对较少。

      解惑ECMAScript/JavaScript/TypeScript和CoffeeScript等概念_第3张图片
      Dart官网 2016/11/12截图

  • 最后,原生Javascript该怎么学还怎么学,你不要指望通过TS or CS能完全替代它。毕竟要先学会跑,之后再讨论穿那种鞋更爽。

你可能感兴趣的:(解惑ECMAScript/JavaScript/TypeScript和CoffeeScript等概念)