1.ES6概述
2.let和const的認識
3.let、const、var的區別
4.模板字符串
5.函數默認參數
6.箭頭函數【重點】
?編輯7.對象初始化簡寫以及案例分析?【重點】
8.對象解構
8.對象傳播操作符
9.對象傳播操作符案例分析
?編輯?10.數組Map
11.數組Reduce?
12.NodeJS小結
1.ES6概述
ES6, 全稱 ECMAScript 6.0 ,是 JavaScript 的下一個版本標準,2015.06 發版。
2.let和const的認識
以前都是用var定義常量和變量?
現在使用let定義變量 const定義常量更好的區分
3.let、const、var的區別
這里應該打印0 1 2 3 4 5但是直接打印5了 這是var的一個問題 變量穿透 因為var定義可以是變量也
可以是常量 所以它作為常量來說 這里就穿透了
使用let 定義變量 就不會造成穿透問題
同時我們的常量都是不可以修改的 const可以直接定義常量 不允許修改?
修改常量直接報錯
// 在實際開發和生產中,如果是小程序,uniapp或者腳手架中,可以大膽使用let和const
// 在web開發中,建議還是var,有些瀏覽器不支持ES6
小結:
????????1.let和const主要解決 變量穿透 和 常量修改問題
?
4.模板字符串
相比較傳統的字符串拼接 ES6的 `${}`更加簡潔好用
5.函數默認參數
6.箭頭函數【重點】
7.對象初始化簡寫以及案例分析?【重點】
對象簡寫案例
8.對象解構
8.對象傳播操作符
<script>// 對象傳播操作符 ...var person={name:'taohy',address:'suzhou',link:'csdn',phone:15250,go(){console.log('開始上課了....')}}//解構出來var {name,address,...person2} = person;console.info(name);console.info(address);console.info(person2);</script>
9.對象傳播操作符案例分析
<script>// java 后臺 // 數據格式 var userPage ={page:10,users:[{},{}],pageNo:1,pageSize:10,total:100}// 異步請求// $.post('/user/search',function(res){})var userPage = {pages:10,users:[{},{}],pageNo:1,pageSize:100,total:100};var {users,...userPage2} = userPage;console.log(users);console.log(userPage2);
</script>
?10.數組Map
<script>let arr = [1,2,3,4,5,6,7];// 需求,對數組中每個數 乘以2// 傳統做法let arrNew = [];for(let i = 0; i < arr.length; i++){arrNew.push(arr[i] * 2);}console.info(arrNew);// ES6 Map 自帶循環功能 并且會把處理的值回填到對應的位置// var arrNew2 = arr.map(function (ele) {// return ele * 2; // 必須return// })// 省略var arrNew2 = arr.map(ele => ele * 2);console.info(arrNew2);// map 處理對象的數據 // 實現對象年齡加1var users = [{age:10,name:'小綠'},{age:12,name:'小紅'}];// var usersNew= users.map(function (ele) {// ele.age = ele.age + 1;// return ele;// })// 簡寫var usersNew = users.map(ele => {ele.age = ele.age + 1;ele.check = true;return ele;});console.info(usersNew);</script>
?
11.數組Reduce?
<script>let arr = [1,2,3,4];// a=1 b=2 a+b;a=3 b=3 a+b; let result = arr.reduce((a,b) => {return a + b;})console.info(result);// 全部相加 10</script>
12.NodeJS小結
ES6 js新建文件中,在node中可以直接使用