ECMAScrip6学习

2018-04-10  本文已影响0人  sy随缘

一、简介

ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

1、ECMAScript 和 JavaScript 到底是什么关系?

JavaScript :所属公司为:Netscape 

ECMAScript:所属公司为:ECMA 

ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 Jscript 和 ActionScript)。日常场合,这两个词是可以互换的。

2、ES6 与 ECMAScript 2015 的关系

ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准

本书中提到 ES6 的地方,一般是指 ES2015 标准,但有时也是泛指“下一代 JavaScript 语言”。

3、ECMAScript 的历史

ES6 从开始制定到最后发布,整整用了 15 年。

前面提到,ECMAScript 1.0 是 1997 年发布的,接下来的两年,连续发布了 ECMAScript 2.0(1998 年 6 月)和 ECMAScript 3.0(1999 年 12 月)。3.0 版是一个巨大的成功,在业界得到广泛支持,成为通行标准,奠定了 JavaScript 语言的基本语法,以后的版本完全继承。

直到今天,初学者一开始学习 JavaScript,其实就是在学 3.0 版的语法。

4、部署进度

各大浏览器的最新版本,对 ES6 的支持度已经越来越高了,超过 90%的 ES6 语法特性都实现了。

Node 是 JavaScript 的服务器运行环境(runtime)。它对 ES6 的支持度更高。除了那些默认打开的功能,还有一些语法功能已经实现了,但是默认没有打开。使用下面的命令,可以查看 Node 已经实现的 ES6 特性。

$ node--v8-options|grep harmony

上面命令的输出结果,会因为版本的不同而有所不同。

运行下面的命令,可以查看你正在使用的 Node 环境对 ES6 的支持程度。

$ npm install-g es-checker$ es-checker

=========================================

Passes24feature Dectations

Your runtime supports  57%of ECMAScript6

=========================================

5、Babel 转码器

Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环境执行。这意味着,你可以用 ES6 的方式编写程序,又不用担心现有环境是否支持。下面是一个例子。

5.1 配置文件转码:Babel 的配置文件是.babelrc,

5.2 命令行转码babel-cli:Babel 提供babel-cli工具,用于命令行转码。

5.3 在线转换 :Babel 提供一个REPL 在线编译器,可以在线将 ES6 代码转为 ES5 代码。转换后的代码,可以直接作为 ES5 代码插入网页运行。

5.4 Traceur 转码器:Google 公司的Traceur转码器,也可以将 ES6 代码转为 ES5 代码。

二、let 和 const 命令

1、let 命令

基本用法

ES6 新增了let命令,用来声明变量。用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

2、块级作用域

3、const 命令

4、顶层对象的属性

5、global 对象

上一篇 下一篇

猜你喜欢

热点阅读