1、Es6 简介
2、Let和const
3、解析赋值
4、箭头函数 (=>)
5、不定参和默认参
6、Class
7、module
简介
ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
ES6的第一个版本,就这样在2015年6月发布了,正式名称就是《ECMAScript 2015标准》(简称ES2015)
Let和const
let和const 只在声明所在的块级作用域内有效,而且不存在声明提前。
const 声明一个只读的常量。一旦声明,常量的值就不能改变。
if(1){
let a = 2;
console.log(a)//2
}
console.log(a)//Uncaught ReferenceError: a is not defined
解析赋值
var [a,b,c] = [1,2,3];
console.log(a,b,c);
//1 2 3
var [a,...b] = [1,2,3,4,5];
console.log(a);//1
console.log(b);//[2,3,4,5]
console.log(...b);//2 3 4 5
var obj = {
a:1,
b:2,
c:3
};
var {a,b,c} = obj;
console.log(a,b,c);//1 2 3
箭头函数
var fn = (a,b)=>{
return a+b;
}
var foo = (x,y)=>x+y;
不定参和默认参
function fn(a = 1) {
return a + 1;
}
console.log(fn())
function fn(a,...arg) {
console.log(a,...arg)
}
fn(1,2,3)
Class
class Person{
constructor(name,age){
this.name = name;
this.age = age;
}
showname(){
alert(this.name);
alert(this.age)
}
}
var person = new Person("zhangsan",15)
person.showname()
class Person{
constructor(name,age){
this.name = name;
this.age = age;
}
showname(){
alert(this.name);
alert(this.age)
}
}
class superMan extends Person{
constructor(name,age,skill){
super(name,age)//调用父类的构造器
this.skill = skill;
}
showSkill(){
alert(this.skill)
}
}
var superman = new superMan("超人",15,"变身");
superman.showSkill()