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 都是塊級作用域