ES6中l(wèi)et、const的區(qū)別及變量的解構(gòu)賦值操作方法實(shí)例分析
本文實(shí)例講述了ES6中l(wèi)et、const的區(qū)別及變量的解構(gòu)賦值操作方法。分享給大家供大家參考,具體如下:
聲明:本文內(nèi)容依照阮一峰老師ECMAScript 6 入門(mén)一書(shū)所總結(jié)。
let和const
相同點(diǎn)
- 都存在塊級(jí)作用域
- 都不存在變量聲明提升
- 都會(huì)造成“暫時(shí)性死區(qū)”
- 在一個(gè)作用域下不可重復(fù)聲明
不同點(diǎn)
- const一旦聲明必須立即賦值
- const聲明的變量指向的內(nèi)存地址不得改動(dòng)。
變量解構(gòu)賦值
數(shù)組的解構(gòu)賦值
解構(gòu)成功
let [a, b, c] = [1, 2, 3];
解構(gòu)不成功
let [foo] = [];
不完全解構(gòu)
let [x, y] = [1, 2, 3];
默認(rèn)值
let [foo = true] = [];
解構(gòu)條件:只要某種數(shù)據(jù)結(jié)構(gòu)具有 Iterator 接口,都可以采用數(shù)組形式的解構(gòu)賦值。
對(duì)象的解構(gòu)賦值
與數(shù)組的區(qū)別:對(duì)象的解構(gòu)與數(shù)組有一個(gè)重要的不同。數(shù)組的元素是按次序排列的,變量的取值由它的位置決定;而對(duì)象的屬性沒(méi)有次序,變量必須與屬性同名,才能取到正確的值。
應(yīng)用:可以很方便地將現(xiàn)有對(duì)象的方法,賦值到某個(gè)變量。
let { log, sin, cos } = Math;
字符串的解構(gòu)賦值
原理:字符串被轉(zhuǎn)換成了一個(gè)類(lèi)似數(shù)組的對(duì)象。
const [a, b, c, d, e] = 'hello';
類(lèi)似數(shù)組的對(duì)象都有一個(gè)length屬性,因此還可以對(duì)這個(gè)屬性解構(gòu)賦值。
let {length : len} = 'hello'; len // 5
數(shù)值和布爾值的解構(gòu)賦值
let {toString: s} = 123; s === Number.prototype.toString // true
let {toString: s} = true; s === Boolean.prototype.toString // true
函數(shù)參數(shù)的解構(gòu)賦值
[[1, 2], [3, 4]].map(([a, b]) => a + b); // [ 3, 7 ]
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專(zhuān)題:《javascript面向?qū)ο笕腴T(mén)教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
通過(guò)js簡(jiǎn)單實(shí)現(xiàn)將一個(gè)文本內(nèi)容轉(zhuǎn)譯成加密文本
將文本內(nèi)容轉(zhuǎn)譯成加密文本,在某些情況下還是比較實(shí)用的,下面通過(guò)js簡(jiǎn)單實(shí)現(xiàn)下,感興趣的朋友不要錯(cuò)過(guò)2013-10-10JavaScript中forEach和map方法的使用與區(qū)別
眾所周知map和forEach是數(shù)組的操作方法,下面這篇文章主要給大家介紹了關(guān)于JavaScript中forEach和map方法的使用與區(qū)別,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02微信小程序?qū)崿F(xiàn)短信驗(yàn)證碼倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)短信驗(yàn)證碼倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05自定義函數(shù)實(shí)現(xiàn)IE7與IE8不兼容js中trim函數(shù)的問(wèn)題
這篇文章主要介紹了自定義函數(shù)實(shí)現(xiàn)IE7與IE8不兼容js中trim函數(shù)的方法,涉及trim函數(shù)的重寫(xiě)與正則匹配的技巧,需要的朋友可以參考下2015-02-02微信小程序?qū)崿F(xiàn)左右列表聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)左右列表聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02