側)補全原字符串。
padend:返回新的字符串,表示用參數字符串從尾部(右側)補全原字符串。
以上兩個方法可以接收兩個參數,第一個參數是指定生成的字符串的最小長度,第二個參數是用來補全的字符串。如果沒有指定第二個參數,則默認用空格填充。
另外,值得一提的是,字符串允許被當作數組一樣使用。換句話說,你可以用下標的方式獲取字符串中某個位置的字符。լ
6.4 Proxy代理
在支持Proxy的瀏覽器環境中,Proxy是一個全局對象,它可以被直接使用。Proxy(target,handler)是一個構造函數,target是被代理的對象,handlder是聲明了各類代理操作的對象,最終返回一個代理對象。外界每次通過代理對象訪問target對象的屬性時,就會經過handler對象,從這個流程來看,代理對象很類似middleware(中間件)。那麼,Proxy可以攔截什麼操作呢?最常見的就是get(讀取)、set(修改)對象屬性等操作。
簡單來說,Proxy的作用就是允許我們聲明一個代理,對某個對象進行一些特殊的訪問攔截。一個Proxy對象由兩個部分組成:target、handler。在通過Proxy構造函數生成實例對象時,需要提供這兩個參數。target即目標對象,handler是一個對象,聲明了代理target的指定行為。
比如,我們現在有如下一個對象。
當我們希望給obj賦值時,往往會直接這樣做。
obj.age = "28"
console.log(obj)
這樣不是說不行,但是會出現問題,因為obj的age屬性分明希望得到一個number,但是我們卻賦值了一個string。於是,我們就希望在給對象賦值的時候限製一下類型。思路大概是這樣的:給obj生成一個代理,obj就不會直接暴露給外麵了。如果你要操作obj,就和代理說,代理會幫obj做一個簡單的篩選。於是,代碼就變成了如下這樣。
結果如下。
這樣就通過一個簡單的代理對象對數據進行了校驗。
6.5 強化後的數組
es6對諸多數據類型都進行了強化,自然不可能少得了數組。下麵對一些常用的方法進行詳細介紹。
6.5.1 快速構建新數組
Array.of方法可以將參數中的所有值作為元素而形成數組,參數值可以是不同類型,如果參數為空時,則返回空數組。這一點很好理解,需要重點介紹的是Array.from方法,這個方法可以將類數組對象或可迭代對象轉化為數組。類數組對象就是一種可以遍曆的對象,隻要對象有length屬性,而且有諸如0、1、2、3這樣的屬性,那麼它就可以被稱為類數組。
比如下麵的對象就可以稱為類數組。
請訪問ᴏᴏᴘ.ᴛᴡ獲取最快的章節更新
但是它畢竟不是數組,不方便進行某些操作,如push。我們可以用from方法將它轉換為數組。
listdata = Array.from(listdata);
console.log( listdata)
運行結果如圖6-2所示,這樣就是貨真價實的數組啦,from方法還可以接收第二個參數,就是一個map回調函數,用於對每個元素進行處理,放入數組的是處理後的元素。將上麵的代碼改寫為如下形式。
圖6-2 運行結果
運行結果如圖6-3所示。
圖6-3 運行結果
6.5.2 新的數組方法
find:查找數組中符合條件的元素,若有多個符合條件的元素,則返回第一個元素。
findlndex:查找數組中符合條件的元素索引,若有多個符合條件的元素,則返回第一個元素索引。
fill:將一定範圍索引的數組元素內容填充為單個指定的值。
。素元的引索圍範定指一另組數此為改修素元組數的引索圍範定一將:nihtiwypoc
。曆遍:seirtne
。名鍵曆遍:syek
。值鍵曆遍:seulav
製複組數 3.5.6
。組數個一製複速快式方的”…“用以可在現,法方ecils用采多大,組數個一製複要果如,中目項統傳的前以在
;]atadtsil...[ = atadtsiLwen tel
)atadtsiLwen(gol.elosnoc
數函的後化強 6.6
。數函個一明聲頭箭個一用接直,字鍵關noitcnuf略省許允法語的6se在現而,數函個一義定noitcnuf字鍵關用是法做規常的前以。了數函頭箭是就的名著其尤,化簡是說者或化強多很了做也數函對6se
。號括圓略省以可則,數參個一有隻你果如是但,麵裡號括圓對一在放是還,留保表列數參的先原
。它替代線畫下個一用就,感在存的數參個這低降了為,是於。了罷用使被會不遠永數參個這是隻,數參個一有於當相,線畫下個一出給接直歡喜人些有是但,的題問何任有沒是號括小個一打,然當?呢辦麼怎該又,數函的數參有沒是果如
。式形下如成寫簡接直薦推更,的麵裡象對個某在是數函個這果如,數參有沒有管不,做麼這會不也般一是但,點一這了釋詮地好很碼代的麵上
。下一用引siht用麵下,性屬eman的身本象對回返於用法方個這,法方emanteg個一有麵裡象對nosrep,題問個一下看再在現。寫簡的數函通普是而,數函頭箭非並式方的麵上:意注
的題問有沒是寫樣這