摘要:說(shuō)起大家都很熟悉,有些新特性等高級(jí)瀏覽器已經(jīng)實(shí)現(xiàn),不用我們?nèi)ゾ幾g了。今天我簡(jiǎn)單說(shuō)下的一些特性,算是簡(jiǎn)單回顧,梳理下自己的知識(shí)體系。聲明的常量即不能重復(fù)賦值也不能重復(fù)聲明。如果和是同樣的命名,可以縮寫(xiě)。
說(shuō)起es6大家都很熟悉,有些es6新特性chrome等高級(jí)瀏覽器已經(jīng)實(shí)現(xiàn),不用我們?nèi)ゾ幾g了。今天我簡(jiǎn)單說(shuō)下es6的一些特性,算是簡(jiǎn)單回顧,梳理下自己的知識(shí)體系。1、聲明變量有變化,不再傻傻分不清
聲明變量有兩種方法,let和const。 let用來(lái)聲明變量,const用來(lái)聲明常量。
什么是變量?變化的量。比如你的名字,公司地址。
什么是常量?永遠(yuǎn)不會(huì)變的東西。比如你的生日。
平時(shí)我們聲明var的變量可以重復(fù)聲明,但let聲明的變量不能重復(fù)聲明,但是它們都可以重復(fù)賦值。
const聲明的常量即不能重復(fù)賦值也不能重復(fù)聲明。
2、作用域定義有變化,讓你隨手畫(huà)個(gè)圈之前js的作用域是用function來(lái)定義的,一個(gè)function內(nèi)是一個(gè)作用域。現(xiàn)在是通過(guò){}來(lái)定義的,
一個(gè)花括號(hào)內(nèi)是一個(gè)作用域。
//var聲明的i var arr=[]; for (var i=0; i<10; i++){ arr[i]=function(){ console.log(i); } } arr[6]();//var聲明的i指向i的地址,所以是10 //var聲明的i如果要得到6,需要用一個(gè)立即執(zhí)行和閉包。把i給num, //然后在function里面console.log(num)即可,每一個(gè)num都是一個(gè)新變量。 var arr=[]; for (var i=0; i<10; i++){ arr[i]=(function(num){ return function () { console.log(num); } })(i); } arr[6](); //let聲明的i var arr=[]; for (let i=0; i<10; i++){ //let聲明的i在這個(gè)花括號(hào)內(nèi)是一直存在的,到下次循環(huán)的時(shí)候i=i+1 arr[i]=function(){ console.log(i); } } arr[6]();//63、解構(gòu)賦值二合一,省時(shí)省力好簡(jiǎn)潔
用人話來(lái)說(shuō)就是左邊和右邊結(jié)構(gòu)一樣。
第一可以省一部分賦值代碼,讓代碼看起來(lái)簡(jiǎn)潔。
let [a,b]=[1,2]; console.log(a); //1 console.log(b); //2
第二json簡(jiǎn)潔,提取方便。如果key和value是同樣的命名,可以縮寫(xiě)。
let jsonData = { id: 42, status: "OK", data: [867, 5309] }; let { id, status, data: number } = jsonData;4、有了字符串模板,遠(yuǎn)離+++拼接
let str="真好啊"; console.log("今天天氣"+str+",心情也好!"); //現(xiàn)在可以寫(xiě)成 console.log(`今天天氣${str},心情也好! `);5、函數(shù)增加新特性,箭頭函數(shù)省省省,rest參數(shù)略略略
函數(shù)里面加了一個(gè)箭頭函數(shù)和rest參數(shù)
箭頭函數(shù)可以極大的縮寫(xiě)我們的函數(shù)
如果參數(shù)只有一個(gè),可以省略function();
如果有return 返回,可以省略{return };
//一個(gè)參數(shù)和返回 //以前 let show=function(r){ return r; } //現(xiàn)在 let show=r=>r; //兩個(gè)參數(shù)和返回 let show=(a,b)=>{return a+b};
rest參數(shù)(...rest)顧名思義就是拿剩下的參數(shù)唄
function show(a,b,...arg){ console.log(arg); } show(1,2,3,4,5);//[3,4,5]
rest參數(shù)還可以幫我們展開(kāi)數(shù)組
let arr=[1,2,3]; console.log(...arr);
明天我們說(shuō)數(shù)組,對(duì)象的繼承,和promise
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/98907.html
摘要:定義父類白色白色定義子類繼承紅色之前的繼承做法是通過(guò)原型鏈先指向父類的原型,然后把子類的構(gòu)造函數(shù)指向定義的構(gòu)造函數(shù)。這樣原型鏈上就有了父類的方法,構(gòu)造函數(shù)里面也會(huì)有父類的構(gòu)造函數(shù)。 書(shū)接上回,昨天我們說(shuō)了展開(kāi),展開(kāi)有什么用呢? var arr1 = [a, b]; var arr2 = [c]; var arr3 = [d, e]; // ES5 的合并數(shù)組 arr1.concat(a...
摘要:前言月份開(kāi)始出沒(méi)社區(qū),現(xiàn)在差不多月了,按照工作的說(shuō)法,就是差不多過(guò)了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了一般來(lái)說(shuō),差不多到了轉(zhuǎn)正的時(shí)候,會(huì)進(jìn)行總結(jié)或者分享會(huì)議那么今天我就把看過(guò)的一些學(xué)習(xí)資源主要是博客,博文推薦分享給大家。 1.前言 6月份開(kāi)始出沒(méi)社區(qū),現(xiàn)在差不多9月了,按照工作的說(shuō)法,就是差不多過(guò)了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了!一般來(lái)說(shuō),差不多到了轉(zhuǎn)正的時(shí)候,會(huì)進(jìn)行總結(jié)或者分享會(huì)議!那么今天我就...
摘要:在之前,社區(qū)制定了一些模塊加載方案,最主要的有和兩種。而我們這里要說(shuō)的是在使用語(yǔ)法引用模塊時(shí),如何正確使用。也就是在這種不使用來(lái)引用模塊的情況下,模塊時(shí)的命名是隨意的,即如下三種引用命名都是正確的因?yàn)樗偸菚?huì)解析到中默認(rèn)的。 在 ES6 之前,社區(qū)制定了一些模塊加載方案,最主要的有 CommonJS 和 AMD 兩種。前者用于服務(wù)器,后者用于瀏覽器。ES6 在語(yǔ)言標(biāo)準(zhǔn)的層面上,實(shí)現(xiàn)了模...
摘要:在誕生以前,異步編程的方式大概有下面四種回調(diào)函數(shù)事件監(jiān)聽(tīng)發(fā)布訂閱對(duì)象將異步編程帶入了一個(gè)全新的階段,中的函數(shù)更是給出了異步編程的終極解決方案。這意味著,出錯(cuò)的代碼與處理錯(cuò)誤的代碼,實(shí)現(xiàn)了時(shí)間和空間上的分離,這對(duì)于異步編程無(wú)疑是很重要的。 寫(xiě)在前面 有一個(gè)有趣的問(wèn)題: 為什么Node.js約定回調(diào)函數(shù)的第一個(gè)參數(shù)必須是錯(cuò)誤對(duì)象err(如果沒(méi)有錯(cuò)誤,該參數(shù)就是null)? 原因是執(zhí)行回調(diào)函...
閱讀 1669·2021-09-28 09:35
閱讀 1140·2019-08-30 15:54
閱讀 1667·2019-08-30 15:44
閱讀 3371·2019-08-30 14:09
閱讀 500·2019-08-29 14:05
閱讀 2669·2019-08-28 17:53
閱讀 1992·2019-08-26 13:41
閱讀 1722·2019-08-26 13:26