TypeScript和ES6的区别 – TypeScript开发教程

【TypeScript和ES6的区别 – TypeScript开发教程】上一章TypeScript教程请查看:从JavaScript项目迁移到TypeScript项目
TypeScriptTypeScript是一种开源的纯面向对象的编程语言。它是一个强类型的JavaScript超集,可以编译成纯JavaScript。TypeScript是由微软在Apache 2许可下开发和维护的。它不是直接在浏览器上运行的,它需要一个编译器来编译和生成JavaScript文件。TypeScript源文件为” .ts”扩展名,我们可以使用任何有效的”.js“文件重命名为”.ts”文件,TypeScript是带有一些附加特性的ES6 JavaScript版本。
TypeScript历史
安德斯·海尔斯伯格开发了JavaScript,它于2012年10月1日首次向公众推出。经过微软两年的内部开发,新版TypeScript 0.9于2013年发布。TypeScript的当前版本是TypeScript 3.4.5,于2019年4月24日发布。
ES6ECMAScript (ES)是由ECMA international标准化的脚本语言规范。它是为了标准化JavaScript而创建的,ES脚本语言包含许多实现,其中最流行的是JavaScript,开发人员主要使用ECMAScript编写万维网(WWW)的客户端脚本。
ECMAScript标准的第六版是ECMAScript6或ES6,后更名为ECMAScript 2015。这是对JavaScript语言的一个重大改进,它允许我们为复杂的应用程序编写程序。它添加了许多旨在简化大型软件开发的特性。最常见的ES6网络浏览器是Chrome和Firefox,一个置换器将基于ES6的代码转换成支持许多浏览器的ES5。TypeScript是一个编译器,Grunt、Gulp和Babel是其他一些编译模块的编译器。因此,TypeScript支持ES6。
ES6历史
JavaScript由Brendan Eich于1995年5月引入。它最初叫做Mocha,网景公司创始人马克·安德森选择了这个名字,后来改名为LiveScript。与此同时,Sun Microsystems拥有JavaScript的商标。1995年12月,网景获得了商标许可,并将其重新命名为JavaScript。
在1996年至1997年间,Netscape将JavaScript提交给ECMA标准组织以维护该语言的规范。1997年6月,成立了ECMA技术委员会39 (TC39)来继续改进语言,最终发布了ECMA-262 Ed.1。
JavaScript的第一个标准版本是ECMAScript 1,于1997年6月发布。一年后,ECMAScript 2发布了,它只包含了一些小的变化,以保持JavaScript的并行ISO标准。1999年12月,ECMAScript 3发布了,它引入了很多JavaScript的流行特性。2009年12月,ECMAScript或ES6发布,随后更名为ECMAScript 2015。
JavaScript VS ES6

TypeScript和ES6的区别 – TypeScript开发教程

文章图片
TypeScript ES6
定义 TypeScript是一种免费的、开源的、纯面向对象的编程语言。它是由微软开发和维护的。 ES6是ECMAScript (ES)的一个版本,它是由ECMA international标准化的脚本语言规范。
解释 Typescript是为了消除开发错误。 ES6在开发时间上比较灵活。
数据类型 TypeScript支持所有原始数据类型。 ES6不支持所有数据类型。
特性 TypeScript包含泛型和类型注释、推理、枚举和接口等特性。 ES6不支持这些特性。
范围 Typescript有三种作用域。 1. 全局作用域 2. 类作用域 3.局部作用域 ES6有两个作用域。 1. 全局作用域 2. 局部作用域
决策 1. if语句 2. if – else语句 3.  else… if和嵌套if语句 4. switch语句 1. if语句 2. if – else语句 3.else- if/嵌套if语句。 4. switch?case语句
模块 TypeScript模块有两种类型: 1. 内部 2. 外部模块 我们可以将ES6模块分为两类: 1. 导入一个模块 2. 输出模块
循环 Typescript和ES6都有相同的循环。 1. 明确的 2. 无限 Typescript和ES6都有相同的循环。 1. 明确的 2. 无限
为什么要选择 开发者选择TypeScript: 类型安全javascript超集强大的类型系统,包括泛型和JS功能。为了兼容性,o与ES开发保持一致。结构化的子类型,而不是标称的子类型。编译时错误。以JavaScript开始和结束。 开发者选择ES6: es6代码比传统的JS更短模块系统标准化非常紧凑destructuring赋值

    推荐阅读