国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript 關于ES6 const 深入理解

hzc / 2162人閱讀

摘要:不可變的只是這個地址,即不能把指向另一個地址,但對象本身是可變的,所以依然可以為其添加新屬性。在擴展一次,如果是一個多層對象可以如下所寫可以徹底鎖死多維對象。。。。

前端面試大坑千千萬,填完一個是一個

關于ES6 const用法

眾所周知,const聲明之后的變量不可以修改,比如:

const name = "lijk";
name = "lijks"  //linshi.html:15 Uncaught SyntaxError: Identifier "name" has already been declared

但是今天面試官提出了,如果const 一個object對象的話,是否可以修改屬性值,懵逼中...

被懟回來之后回家鍵入了:

const objs = {name:"lijk"}
objs.name = "lijks"

沒有報錯???????
什么情況?經過一頓查詢之后得知

上面代碼中,常量objs 儲存的是一個地址,這個地址指向一個對象。不可變的只是這個地址,即不能把objs 指向另一個地址,但對象本身是可變的,所以依然可以為其添加新屬性。

如果如下編寫

const objs = {name:"lijk"}
objs= {name:"lijks"}

恭喜你,你要的錯誤來了,正應了如上所述,const的obj是指向Object一個指針(這塊可以去看原型鏈部分),對象本身是可以修改的,但是指針不能。

PS:我是個有脾氣的人,我如果十分想凍結這個對象呢?ES6為我們提供了一個新方法

const objs = Object.freeze({name:"lijk"})
objs.name = "lijks"

如上所示,在非嚴格情況下第二行代碼是無效的
在嚴格模式(use strict)下,第二行部分會報錯。

在擴展一次,如果object是一個多層對象???

可以如下所寫:

const freezeObjs = (obj) =>{
    Object.freeze(obj);
    Object.keys(obj).forEach((key,i) => {
        if(typeOf obj[key] === "object"){
            freezeObjs(obj[key]);
        }
    })
}

可以徹底鎖死多維對象。。。。

填坑完畢.

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/109565.html

相關文章

  • 深入理解ES6》筆記——Symbol和Symbol屬性(6)

    摘要:設置對象屬性只讀。提供了一個注冊機制,當你注冊之后,就能在全局共享注冊表里面的。的注冊表和對象表很像,都是結構,只不過這個是值。語法只有一個參數,返回的是從注冊表獲取全局共享的注意如果要防止命名重復問題,可以加上前綴。 還記得對象Object嗎? let obj = { a: 1 } 對象的格式: Object { key: value } 在ES5的時代,對象的key只能...

    heartFollower 評論0 收藏0
  • 深入理解ES6》筆記——塊級作用域綁定(1)

    摘要:沒有聲明的情況和都能夠聲明塊級作用域,用法和是類似的,的特點是不會變量提升,而是被鎖在當前塊中。聲明常量,一旦聲明,不可更改,而且常量必須初始化賦值。臨時死區的意思是在當前作用域的塊內,在聲明變量前的區域叫做臨時死區。 本章涉及3個知識點,var、let、const,現在讓我們了解3個關鍵字的特性和使用方法。 var JavaScript中,我們通常說的作用域是函數作用域,使用var聲...

    2bdenny 評論0 收藏0
  • ES6-7

    摘要:的翻譯文檔由的維護很多人說,阮老師已經有一本關于的書了入門,覺得看看這本書就足夠了。前端的異步解決方案之和異步編程模式在前端開發過程中,顯得越來越重要。為了讓編程更美好,我們就需要引入來降低異步編程的復雜性。 JavaScript Promise 迷你書(中文版) 超詳細介紹promise的gitbook,看完再不會promise...... 本書的目的是以目前還在制定中的ECMASc...

    mudiyouyou 評論0 收藏0

發表評論

0條評論

hzc

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<