1 Defailt Parameters(默认参数)
es6中可以直接将默认值放在函数申明里;
例:
var test = function(a=1,b=2,c=3){
console.log(a+b+c);
}
2 Template Literals(模板对象)
es6中可以将变量直接在字符串中使用
例:
var url = 'http://sup-project.cn';
var test = 'my web page is ${url}';
3 Multi-line Strings (多行字符串)
es6中表示多行字符串可以利用反引号直接回车换行表示,类似div中直接输入文字;
例:
var test = 'this is first line
this is second line
this is third line.';
4 Arrow Functions in(箭头函数)
在es5中经常会有这样的操作
var _this = this;//var $this=this;
$('.btn').click(function(event){
_this.sendData();
})
在es6中可以用箭头函数省去这一步
例:
$('.btn').click((event) =>{
this.sendData();
})
箭头函数不仅仅局限于这种用法,他可以搭配任何老函数使用
并且使用了箭头函数后该行代码会变成表达式。
5 Class(类)
es6终于支持类了,定义较之es5简单多了
class Animal {
constructor() {
this.type = 'animal';
}
says(say) {
console.log(this.type + ' says ' + say);
}
}
let animal = new Animal();
animal.says('hello'); //animal says hello
class Cat extends Animal {
constructor() {
super();
this.type = 'cat';
}
}
let cat = new Cat();
cat.says('hello'); //cat says hello
6 Modules(模块)
es6支持本地模块
例:
import {port, getAccounts} from 'module';
console.log(port);
用法类似java;
7 let与const
let 定义的变量不会被变量提升,const 定义的常量不能被修改,let 和 const 都是块级作用域