2018-09-13

一、let和const

const和let的異同點(diǎn)

相同點(diǎn):const和let都是在當(dāng)前塊內(nèi)有效,執(zhí)行到塊外會(huì)被銷毀匆赃,也不存在變量提升(TDZ),不能重復(fù)聲明克滴。

不同點(diǎn):const不能再賦值雄卷,let聲明的變量可以重復(fù)賦值。

const實(shí)際上保證的郭蕉,并不是變量的值不得改動(dòng)疼邀,而是變量指向的那個(gè)內(nèi)存地址所保存的數(shù)據(jù)不得改動(dòng)。對(duì)于簡(jiǎn)單類型的數(shù)據(jù)(數(shù)值召锈、字符串旁振、布爾值),值就保存在變量指向的那個(gè)內(nèi)存地址涨岁,因此等同于常量拐袜。但對(duì)于復(fù)合類型的數(shù)據(jù)(主要是對(duì)象和數(shù)組),變量指向的內(nèi)存地址卵惦,保存的只是一個(gè)指向?qū)嶋H數(shù)據(jù)的指針阻肿,const只能保證這個(gè)指針是固定的(即總是指向另一個(gè)固定的地址),至于它指向的數(shù)據(jù)結(jié)構(gòu)是不是可變的沮尿,就完全不能控制了丛塌。因此,將一個(gè)對(duì)象聲明為常量必須非常小心畜疾。

圖1

ES6 以前赴邻,我們知道5種基本數(shù)據(jù)類型分別是Undefined,Null啡捶,Boolean姥敛,Number以及String,然后加上一種引用類型Object構(gòu)成了JavaScript中所有的數(shù)據(jù)類型瞎暑,但是ES6出來(lái)之后彤敛,新增了一種數(shù)據(jù)類型,名叫symbol了赌,像它的名字表露的一樣墨榄,意味著獨(dú)一無(wú)二,意思是每個(gè) Symbol類型都是獨(dú)一無(wú)二的勿她,不與其它 Symbol 重復(fù)袄秩。

可以通過(guò)調(diào)用 Symbol() 方法將創(chuàng)建一個(gè)新的 Symbol 類型的值,這個(gè)值獨(dú)一無(wú)二,不與任何值相等之剧。

二郭卫、字符串

1、模板字符串

字符串是JavaScript中基本類型之一背稼,應(yīng)該算是除了對(duì)象之外是使用最為頻繁的類型吧贰军,字符串中包含了例如substr,replace雇庙,indexOf,slice等等諸多方法谓形,ES6引入了模板字符串的特性,用反引號(hào)來(lái)表示疆前,可以表示多行字符串以及做到文本插值(利用模板占位符)寒跳。

圖2

可以用${}來(lái)表示模板占位符,可以將你已經(jīng)定義好的變量傳進(jìn)括弧中竹椒,例如:

圖3

includes(str, index):如果在字符串中檢測(cè)到指定文本童太,返回true,否則false胸完。

圖4

startsWith(str, index):如果在字符串起始部分檢測(cè)到指定文本书释,返回true,否則返回false赊窥。

endsWith(str, index):如果在字符串的結(jié)束部分檢測(cè)到指定文本爆惧,返回true,否則返回false锨能。

indexOf(str,index) 方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置扯再。(es5中方法)

如果你只是需要匹配字符串中是否包含某子字符串,那么推薦使用新增的方法址遇,如果需要找到匹配字符串的位置熄阻,使用indexOf()。

三倔约、函數(shù)

在ES5中秃殉,我們給函數(shù)傳參數(shù),然后在函數(shù)體內(nèi)設(shè)置默認(rèn)值浸剩,如下面這種方式钾军。

圖5

在ES6中,我們使用新的默認(rèn)值寫(xiě)法

圖6

四绢要、箭頭函數(shù)(=>)

1巧颈、箭頭函數(shù)的左邊表示輸入的參數(shù),右邊表示輸出的結(jié)果袖扛。

圖7

2、在箭頭函數(shù)中,this屬于詞法作用域蛆封,直接由上下文確定唇礁,對(duì)于普通函數(shù)中指向不定的this,箭頭函數(shù)中處理this無(wú)疑更加簡(jiǎn)單惨篱,如下:

圖8

3盏筐、箭頭函數(shù)中沒(méi)有arguments(我們可以用rest參數(shù)替代),也沒(méi)有原型,也不能使用new 關(guān)鍵字砸讳,例如:

圖9

4琢融、箭頭函數(shù)給數(shù)組排序

圖10

5、尾調(diào)用優(yōu)化

尾調(diào)用是指在函數(shù)return的時(shí)候調(diào)用一個(gè)新的函數(shù)簿寂,由于尾調(diào)用的實(shí)現(xiàn)需要存儲(chǔ)到內(nèi)存中漾抬,在一個(gè)循環(huán)體中,如果存在函數(shù)的尾調(diào)用常遂,你的內(nèi)存可能爆滿或溢出纳令。ES6中,引擎會(huì)幫你做好尾調(diào)用的優(yōu)化工作克胳,你不需要自己優(yōu)化平绩,但需要滿足下面3個(gè)要求:

? ?1、函數(shù)不是閉包漠另;2捏雌、尾調(diào)用是函數(shù)最后一條語(yǔ)句;3笆搓、尾調(diào)用結(jié)果作為函數(shù)返回

尾調(diào)用實(shí)際用途——遞歸函數(shù)優(yōu)化:在ES5時(shí)代性湿,我們不推薦使用遞歸,因?yàn)檫f歸會(huì)影響性能砚作。但是有了尾調(diào)用優(yōu)化之后窘奏,遞歸函數(shù)的性能有了提升。

圖11

未完待續(xù)~~~~

轉(zhuǎn)自??https://segmentfault.com/a/1190000016068235?share_user=1030000006821344

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末葫录,一起剝皮案震驚了整個(gè)濱河市着裹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌米同,老刑警劉巖骇扇,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異面粮,居然都是意外死亡少孝,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)熬苍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)稍走,“玉大人袁翁,你說(shuō)我怎么就攤上這事⌒隽常” “怎么了粱胜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)狐树。 經(jīng)常有香客問(wèn)我焙压,道長(zhǎng),這世上最難降的妖魔是什么抑钟? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任涯曲,我火速辦了婚禮,結(jié)果婚禮上在塔,老公的妹妹穿的比我還像新娘幻件。我一直安慰自己,他們只是感情好心俗,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布傲武。 她就那樣靜靜地躺著,像睡著了一般城榛。 火紅的嫁衣襯著肌膚如雪揪利。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天狠持,我揣著相機(jī)與錄音疟位,去河邊找鬼。 笑死喘垂,一個(gè)胖子當(dāng)著我的面吹牛甜刻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播正勒,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼得院,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了章贞?” 一聲冷哼從身側(cè)響起祥绞,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸭限,沒(méi)想到半個(gè)月后蜕径,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡败京,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年兜喻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赡麦。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡朴皆,死狀恐怖帕识,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情遂铡,我是刑警寧澤渡冻,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站忧便,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏帽借。R本人自食惡果不足惜珠增,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望砍艾。 院中可真熱鬧蒂教,春花似錦、人聲如沸脆荷。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蜓谋。三九已至梦皮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間桃焕,已是汗流浹背剑肯。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留观堂,地道東北人让网。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像师痕,于是被迫代替她去往敵國(guó)和親溃睹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • [TOC] 參考阮一峰的ECMAScript 6 入門(mén)參考深入淺出ES6 let和const let和const都...
    郭子web閱讀 1,781評(píng)論 0 1
  • 一胰坟、ES6簡(jiǎn)介 ? 歷時(shí)將近6年的時(shí)間來(lái)制定的新 ECMAScript 標(biāo)準(zhǔn) ECMAScript 6(亦稱 ...
    一歲一枯榮_閱讀 6,082評(píng)論 8 25
  • 三因篇,字符串?dāng)U展 3.1 Unicode表示法 ES6 做出了改進(jìn),只要將碼點(diǎn)放入大括號(hào)腕铸,就能正確解讀該字符惜犀。有了這...
    eastbaby閱讀 1,539評(píng)論 0 8
  • 第2章 基本語(yǔ)法 2.1 概述 基本句法和變量 語(yǔ)句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,151評(píng)論 0 13
  • 打車去機(jī)場(chǎng)狠裹,凌晨?jī)牲c(diǎn)半虽界,在車上都暈了,趕緊吃東西涛菠,血糖低的原因莉御。年歲越大越覺(jué)得除了身材撇吞,身體最重要的是,它的健康簡(jiǎn)...
    安喜喜閱讀 719評(píng)論 0 1