您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)ES6中l(wèi)et、const的區(qū)別是什么,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
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)于“ES6中l(wèi)et、const的區(qū)別是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。