引言
ECMAScript6.0(以下簡稱 ES6)是 JavaScript 語言的下一代標準,已經在 2015 年 6 月正式發布了,它的目標,是使得 JavaScript 語言可以用來撰寫復雜的大型應用程式,成為企業級開發語言,
我們來看看ES6都做了哪些擴展,
Let和const關鍵字
變數的解構賦值
函式引數默認值
箭頭(Arrow)函式
字串(模板字串),數值的擴展
陣列,物件的擴展
函式的擴展
for...of
1:先從let和const這兩個關鍵字看起,
let關鍵字類似于var,但是他又和var有些不同,主要有兩點, (1):避免了變數提升 (2):只在塊級作用域內起作用 const就是常量的意思,所以他就有了不可更改的屬性,嘗試給一個常量改變值是會報錯的 const和let一樣,只在塊級作用域內作用, 不存在變數提升,必須先定義后使用, 不可重復宣告, 宣告后必須賦值,
2:再來看一個ES6的新特性,for…of,
平時我們for回圈的時候,是這樣寫的 Arr=[1,2,3,4,5,6] for(vari=0;i<Arr.length;i++) 有了for…of,我們可以更清晰,牛逼得去遍歷陣列, for(let itemof Arr)可以達到和上面代碼同樣得效果, 比如 var arr= [1,2,3,4,5]; for(let valueof arr){ if(value =https://www.cnblogs.com/zhaosq/p/=3){ //終止整個回圈 break; } console.log(value); } 這樣我們就及時得跳出了回圈 只會列印出來1和2. 也可以跳過當前回圈,把break改成continue就可以了,我們也可以得到數字型別得索引, for(let indexof arr.keys()){ console.log(index); } 就可以列印出來0,1,2,3,4.
3:箭頭函式 ->
箭頭函式用 => 符號來定義, 箭頭函式相當于匿名函式,所以采用函式運算式的寫法,左邊是傳入函式的引數,右邊是函式中執行的陳述句, var sum =(x,y)=> {return x+y;} 相當于 var sum = function(x,y){ return x+y; } 上面是完整的寫法,左邊小括號,右邊大括號,而下面的情況可以簡寫: (1)當要執行的代碼塊只有一條return陳述句時,可省略大括號和return關鍵字: var sum =(x,y)=> return x+y; (2)當傳入的引數只有一個時,可以省略小括號: var sum =x => x*x; (3)當不需要引數時,使用空的圓括號: var sum = () =>1; 相當于 var sum = function(){ return 1; } (4)箭頭函式在回呼函式中是很簡潔的,像這樣: var array=[1,2,3]; var result=array.map(x =>x*x); //[1,4,9] 也就是[1*1,2*2,3*3] (5)在排序中: var array=[1,2,3]; array.sort((a,b) => b-a) ;//[3,2,1]
4:箭頭函式回圈陣列 集合 Map
(1):回圈List集合
String[] atp={"AAA","BBB","CCC"};
List<String> mytest=Arrays.asList(atp);
//傳統方式
for(String s:mytest){
System.out.println(s);
}
//箭頭函式回圈
mytest.forEach((s) -> System.out.println(s)); //簡寫
mytest.forEach((s) ->{
System.out.println(s));
}
(2):回圈Map
Map<String ,String> map=new HashedMap();
map.put("111","aaa");
map.put("222","bbb");
map.put("333","ccc");
//傳統方式
for(Map.Entry<String,String> entry:map.entrySet()){
System.out.println("key:"+entry.getKey()+" || value:"+entry.getValue());
}
//箭頭函式回圈
map.forEach((key,value) ->{
System.out.println("key:"+key+" || value:"+value);
});
(3):回圈陣列
先將陣列轉為集合,在回圈集合
5:函式引數默認值
ES6支持在定義函式的時候為其設定默認值: function foo(height = 50, color = 'red') { // TODO } 這樣寫一般沒問題,但當引數的布林值為false時,就會有問題了,比如,我們這樣呼叫foo函式: foo(0, "") 因為0的布林值為false,這樣height的取值將是50,同理color的取值為‘red’, 所以說,函式引數默認值不僅能是代碼變得更加簡潔而且能規避一些問題,
6:模板字串
ES6支持模板字串,使得字串的拼接更加的簡潔、直觀, 不使用模板字串: var name = 'Your name is ' + first + ' ' + last + '.' 使用模板字串: var name = `Your name is ${first} ${last}.` 在ES6中通過${}就可以完成字串的拼接,只需要將變數放在大括號之中,
先總結這么多,后續的內容再慢慢補上
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/122638.html
標籤:Java
