什么是ES6?
- ECMAScript 6(以下简称ES6)是JavaScript语言的下一代规范,曾经在2015年6月正式公布了。Mozilla公司将在这个规范的根底上,推出JavaScript 2.0。
- ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现。
ES6的指标,是使得JavaScript语言能够用来编写大型的简单的应用程序,成为企业级开发语言。
ES6官网中文网变量定义(var,let,const)
- 个别函数中都是用var去定义变量,因为它是关键字能够预解析。
- ES6中举荐应用let去定义变量,let定义的是个别变量。
- const定义的是常量,是不可批改的。
<script type="text/javascript"> <!--定义var值--> var ht=20; <!--定义let值--> let nn=30; <!--定义const值--> const pcl=183; alert(ht); //20 alert(nn); //30 alert(pcl); //183 ht=21; nn=31; //pcl=184;//报错,const定义的常量是不可批改的 alert(ht); //21 alert(nn); //31 alert(pcl); //183 </script>
箭头函数
// 通过箭头函数的写法定义var fnRs = (a,b)=>{ var rs = a + b; alert(rs);} // fnRs(1,2);// 一个参数能够省略小括号var fnRs2 = a =>{ alert(a);}fnRs2('本是青灯不归客'); // 箭头函数的作用,能够绑定对象中的this(这里的this不是window而是对象)var person = { name:'tom', age:18, showName:function(){ setTimeout(()=>{ alert(this.name); },1000) }}person.showName();
class
ES6中也提出了类用法,类用法es5中就能够实现了,不过既然是新规定那就更加清晰明了啦
class Poetry { constructor(){ console.log('山有木兮木有之'); }}class Person extends Poetry{ constructor(){ super(); console.log('本是青灯不归客'); }}let ht = new Person();
解构
var ht1 = someArray[0];var ht2 = someArray[1];var ht3 = someArray[2];//解构赋值let [ht1, ht2, ht3] = someArray; //还有上面例子let [,,ht3] = [1,2,3];console.log(ht3); //3let [ht1,...last] = [1,2,3];console.log(last); //[2,3]//对象解构let {name,age} = {name: "ht", age: "17"};console.log(name); //htconsole.log(age); //17//留神let {ept1} = {};console.log(ept1); //undefinedlet {ept2} = {undefined};console.log(ept2); //undefinedlet {ept3} = {null};console.log(ept3); //null
import 和 export
- 通过向大括号中增加sex,echo变量并且export输入,就能够将对应变量值以sex、echo变量标识符模式裸露给其余文件而被读取到
- 不能写成export sex这样的形式,如果这样就相当于export "boy",内部文件就获取不到该文件的外部变量sex的值,因为没有对外输入变量接口,只是输入的字符串。
<script type="text/javascript"> // 简写成上面的模式 var sex="boy"; var echo=function(value){ console.log(value) } export {sex,echo} </script>
- 通过import获取a.js文件的外部变量,{}括号内的变量来自于a.js文件export出的变量标识符。
import {sex,echo} from "a.js" console.log(sex) // boy echo(sex) // boy