溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

ES6中l(wèi)et、const的區(qū)別是什么

發(fā)布時(shí)間:2021-08-18 14:40:23 來(lái)源:億速云 閱讀:130 作者:小新 欄目:web開(kāi)發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)ES6中l(wèi)et、const的區(qū)別是什么,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

let和const

相同點(diǎn)

  1. 都存在塊級(jí)作用域

  2. 都不存在變量聲明提升

  3. 都會(huì)造成“暫時(shí)性死區(qū)”

  4. 在一個(gè)作用域下不可重復(fù)聲明

不同點(diǎn)

  1. const一旦聲明必須立即賦值

  2. 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)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI