ECMAScript6入门

2017-05-18  本文已影响56人  贾里

1.JavaScript的历史

诞生
JavaScript诞生于1995年。起初它的主要目的是处理以前由服务器端负责的一些表单验证。当时走在技术革新最前沿的Netscape(网景)公司,决定着手开发一种客户端语言,用来处理这种装简单的验证。当时就职于Netscape公司的布兰登·艾奇开始着手计划将1995年2月发布的LiveScript同时在浏览器和服务器中使用。

Javascript于Java的关系
为了赶在发布日期前完成LiveScript的开发,Netscape与Sun公司成立了一个开发联盟。而此时,Netscape为了搭上媒体热炒Java的顺风车,临时把LiveScript改名为JavaScript,所以从本质上来说JavaScript和Java没什么关系。

Javascript的版本问题
JavaScript 1.0获得了巨大的成功,Netscape随后在Netscape Navigator 3(网景浏览器)中发布了JavaScript 1.1。之后作为竞争对手的微软在自家的IE3中加入了名为JScript(名称不同是为了避免侵权)的JavaScript实现。而此时市面上意味着有3个不同的JavaScript版本,IE的JScript、网景的JavaScript和ScriptEase中的CEnvi。当时还没有标准规定JavaScript的语法和特性。随着版本的不同暴露的问题日益加剧,JavaScript的规范化最终被提上日程。

JavaScript与ECMAScript 的关系
1997年,以JavaScript1.1为蓝本的建议被提交给了欧洲计算机制造商协会(ECMA,European Computer Manufactures Association)该协会指定39号技术委员会负责将其进行标准化,TC39来此各大公司以及其他关注脚本语言发展的公司的程序员组成,经过数月的努力完成了ECMA-262——定义了一种名为ECMAScript的新脚本语言的标准。第二年,ISO/IEC(国标标准化组织和国际电工委员会)也采用了ECMAScript作为标准(即ISO/IEC-16262)。

ECMAScript是什么?
ECMAScript是Javascript语言的标准
ECMA European Computer Manufactures Association(欧洲计算机制造联合会),主要任务是研究信息和通讯技术方面的标准并发布有关技术报告
ECMAScript6:简称ES6,是JavaScript语言的下一代标准,也是目前正是发布的最新JavaScript标准,由于ES6是在2015年发布,所以ES6也成为ECMAScript2015

2.ECMAScript的发展历史

运行ECMAScript6的途径

3.ES6使用

3.1.配置WebStrom

在项目中引用js:
index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="js/es6.js"></script>
</head>
<body>
米好
</body>
</html>

在es6.js中编写es6语法:

/**
 * Created by jarrysong on 2017/5/17.
 */
let a="jarry";
alert(a);

这里会出现语法错误提示,因为项目中不支持es6语法:let

error.png

解决方法是:
Setting——>Languages——>JavaScript——>ESMAScript 6

Es6设置.png

这样,就可以进行ES6的使用了。

3.2.使用Babel完成ES6到ES5的转换

npm install -g babel-cli
npm init
创建工程.png
npm install babel-preset-es2015 –save
/**
 * Created by jarrysong on 2017/5/18.
 */
let a="jarry";
alert(a);
babel es6.js --out-file es5.js --presets es2015

结果会在项目中生成一个es5.js文件,里面就是对应的es5语法:

/**
 * Created by jarrysong on 2017/5/18.
 */
"use strict";
/**
 * Created by jarrysong on 2017/5/18.
 */
var a = "jarry";
alert(a);

自动转换
只要es6文件改动并保存了,es5文件会自动修改

babel es6.js -w --out-file es5.js --presets es2015

3.3.在页面中实时转换ES6到ES5

npm install babel-core@5 –save
/node_modules/babel-core/browser.min.js
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script type="text/javascript" src="/node_modules/babel-core/browser.min.js"></script>
    <script type="text/babel" src="es6.js"></script>
    <title>Title</title>
</head>
<body>

</body>
</html>

备注:在性能上考虑的话,一般是在服务器上转成ES5之后传给客户端的性能效率会比客户端从服务器拉取ES6转成ES5要高。

3.4.使用Browsersync实时刷新页面

npm install -g browser-sync
browser-sync start --server --files "**"
实时更新.png

4.本地安装和全局安装的区别

本地安装

全局安装(-g)

上一篇 下一篇

猜你喜欢

热点阅读