JavaScript、TypeScript、ES6三者之间的联系和区别
ES6是什么
ECMAScript 6.0(以下简称ES6)是JavaScript语言(现在是遵循ES5标准)的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
ES6的新特性
- ES6中的let命令,声明变量,用法和var差不多,但是let是为JavaScript新增了块级作用域,ES5中是没有块级作用域的,并且var有变量提升的概念,但是在let中,使用的变量一定要进行声明。
- ES6中变量的解构赋值,比如:var [a,b,c] = [0,1,2];
- ES6中不再像ES5一样使用原型链实现继承,而是引入Class这个概念,听起来和Java中的面向对象编程的语法有些像,但是二者是不一样的。
- ES6中的函数定义也不再使用关键字function,而是利用了=>来进行定义;
- ES6中可以设置默认函数参数,如function A(x,y=9){};
ECMAScript和JavaScript的关系
由于JavaScript的创造者Netscae公司的版权问题,ECMAScript不能叫Javascript。总之,ECMAScript和JavaScript的关系是,前者是后者的规格(语言规范),后者是前者的一种实现。
JavaScript 与 TypeScript 的关系
TypeScript是Javascript的超集,实现以面向对象编程的方式使用Javascript。当然最后代码还是编译为Javascript。
TypeScript和ES6的关系
typescript相对于ES6,TypeScript最大的改善是增加了类型系统。
附:typescript相对于ES5有五大改善:
- 类型
- 类
- 注解
- 模块导入
- 语言工具包(比如,结构)
TypeScript是ES6的超集。至于需不需要使用,在于你所需要的场景。比如在Angular2中,用TypeScript明显好于ES6。
总结一下:
ES6是Javascript语言的标准,typescript是ES6的超集。
write by tuantuan
JavaScript、TypeScript、ES6三者之间的联系和区别的更多相关文章
- Win32 Console Application、Win32 Application、MFC三者之间的联系和区别
转自:http://blog.csdn.net/c_base_jin/article/details/52304845 在windows编程中,我们或多或少都听说这三个名称,分别是Win32 Cons ...
- Git、GitHub、GitLab三者之间的联系以及区别
在讲区别以及联系之前先简要的介绍一下,这三者都是什么(本篇文章适合刚入门的新手,大佬请出门左转) 1.什么是 Git? Git 是一个版本控制系统. 版本控制是一种用于记录一个或多个文件内容变化,方便 ...
- Git-GitHub-GitLab三者之间的联系及区别
在讲区别以及联系之前先简要的介绍一下,这三者都是什么(本篇文章适合刚入门的新手,大佬请出门左转) 1.什么是 Git? Git 是一个版本控制系统. 版本控制是一种用于记录一个或多个文件内容变化,方便 ...
- 说说SpringMVC、SpringBoot和SpringCloud三者之间的联系和区别
这个问题是我在参加一次面试晚会活动上被问到的一个问题,看标题显然很简单就能够回答出来,但是仔细一琢磨,平时蒙头苦干的我们可能缺少关注和积累,好像并不能用较专业的术语和逻辑很顺畅的表达出来,于是我简要的 ...
- 5.Javascript 原型链之原型对象、实例和构造函数三者之间的关系
前言:用了这么久js,对于它的原型链一直有种模糊的不确切感,很不爽,隧解析之. 本文主要解决的问题有以下三个: (1)constructor 和 prototype 以及实例之间啥关系? (2)pro ...
- Javascript 原型链之原型对象、实例和构造函数三者之间的关系
前言:用了这么久js,对于它的原型链一直有种模糊的不确切感,很不爽,隧解析之. 本文主要解决的问题有以下三个: (1)constructor 和 prototype 以及实例之间啥关系? (2)pro ...
- [转]ExtJs基础--Html DOM、Ext Element及Component三者之间的区别
要学习及应用好Ext框架,必须需要理解Html DOM.Ext Element及Component三者之间的区别. 每一个HTML页面都有一个层次分明的DOM树模型,浏览器中的所有内容都有相应的DOM ...
- CP/IP,SPDY,WebSocket 三者之间的关系
按照OSI网络分层模型,IP是网络层协议,TCP是传输层协议,而HTTP是应用层的协议.在这三者之间,SPDY和WebSocket都是与HTTP相关的协议,而TCP是HTTP底层的协议.一.HTTP的 ...
- WebBrowser一点心得,如果在Javascript和Winform代码之间实现双向通信
原文:WebBrowser一点心得,如果在Javascript和Winform代码之间实现双向通信 最近工作需要,学习了一下winform内嵌webbrowser控件,然后与htm页面中的javasc ...
随机推荐
- 使用 Java 创建聊天客户端-2
1.项目截图 java聊天核心代码: MyJavaChatClient ================================================================ ...
- 「CF375E」Red and Black Tree「树形DP」
题意 给定一个结点颜色红或黑的树,问最少进行多少次交换黑.红结点使得每个红结点离最近的黑结点距离\(\leq x\). \(1\leq n \leq 500, 1 \leq x \leq 10^9\) ...
- Comet OJ - Contest #7
传送门 \(A\) 咕咕咕 int main(){ for(scanf("%d",&T);T;--T){ scanf("%d%d",&l,&am ...
- Allure自动化测试报告之修改allure测试报告logo
1.安装allure 2.进入 /usr/local/Cellar/allure/2.10.0/libexec/config 3.在allure.yml添加 - custom-logo-plugin ...
- redis消息提醒设计方案细则
----需求明细: 现有多个角色,角色间需要交互,内容分为申请,审核通过,拒绝,解除合作.每个角色进入自己后台显示查看其他角色的未读消息个数,点击进入显示所有发送来的内容.最开始只存储未读个数,并不知 ...
- [线性代数] 线性子空间入門 Basic Vector Subspaces
导语:其他集数可在[线性代数]标籤文章找到.线性子空间是一个大课题,这里先提供一个简单的入门,承接先前关于矩阵代数的讨论,期待与你的交流. Overview: Subspace definition ...
- 小程序for循环
https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/list.html 在什么情况下要自定义? 当上一个循环的数据 ...
- 【原】Python基础-类
class CPerson: name = "default" __name2 = "inaccessable name" #类作用域内的变量可以被所有实例访问 ...
- 【Python 脚本报错】AttributeError: 'module 'yyy' has no attribute 'xxx'的解决方法
先参考这篇记录大概理解了原因, 再深入了解下python的import机制, 发现自己的模块之间存在互相import. 比如,A.py中import B,而B.py中也import A了, 现在执行模 ...
- Android资源文件命名规范学习手册
[推荐] 资源文件需带模块前缀.[推荐] layout 文件的命名方式. Activity 的 layout 以 module_activity 开头 Fragment 的 layout 以 modu ...