摘要:提供的方法,可在字符串比較之前正規(guī)化,規(guī)避這種錯(cuò)誤。過(guò)去判斷數(shù)組或字符串中包含某一元素的時(shí)候需要用到方法,現(xiàn)在數(shù)組或字符串都能使用方法來(lái)判斷是否包含某一元素。下面代碼生成位的數(shù)值字符串。另一個(gè)用途是提示字符串格式。
1. 字符串的遍歷
ES6字符串增加了遍歷器接口,for-of 語(yǔ)法,相比傳統(tǒng)for(let i=0;.....)來(lái)循環(huán)字符串,for-of循環(huán)可以識(shí)別大于0xFFFF的碼點(diǎn),傳統(tǒng)的for循環(huán)無(wú)法識(shí)別這樣的碼點(diǎn)
for (let cp of "foo") { console.log(cp) }2. normalize()
在歐洲很多國(guó)家的字符中有語(yǔ)調(diào)和符號(hào)或重音符號(hào),Unicode提供了兩種方法。一種是直接提供帶重音符號(hào)的字符,比如ǒ(u01D1)。另一種是提供合成符號(hào)(combining character),即原字符與重音符號(hào)的合成,兩個(gè)字符合成一個(gè)字符,比如O(u004F)和ˇ(u030C)合成ǒ(u004Fu030C)。
這兩種語(yǔ)法在在視覺(jué)和語(yǔ)義上都等價(jià),過(guò)去javascript不能識(shí)別這種等價(jià)。
"u01D1"==="u004Fu030C" //false "u01D1".length // 1 "u004Fu030C".length // 2
ES6提供的normalize()方法,可在字符串比較之前正規(guī)化,規(guī)避這種錯(cuò)誤。
"u01D1".normalize() === "u004Fu030C".normalize() // true3. includes()
過(guò)去判斷數(shù)組或字符串中包含某一元素的時(shí)候需要用到indexOf()方法, 現(xiàn)在數(shù)組或字符串都能使用includes()方法來(lái)判斷是否包含某一元素。
const arr = ["apple", "banana", "orange"] const str = "Sometimes I walk a little faster in the school hallway just to get next to you." arr.includes("orange") //true str.includes("walk") //true4. startsWith(), endsWith()
判斷字符串是否以指定子串開(kāi)頭/結(jié)尾
"You can say goodbye and you can say hello".startsWith("You") //true "Welcome to LA".endsWith("LA") //true5. repeat()
str.repeat(n)返回一個(gè)字符串,重復(fù)str n次的結(jié)果, 如果n是小數(shù),則會(huì)被floor取整,n如果為其他類型則會(huì)轉(zhuǎn)為數(shù)字再執(zhí)行,如果為Infinity或負(fù)數(shù)或NaN, 報(bào)錯(cuò)
"x".repeat(3) // "xxx" "hello".repeat(2) // "hellohello" "na".repeat(0) // "6. padStart(),padEnd()
字符串沒(méi)有達(dá)到要求的長(zhǎng)度,可以在開(kāi)始/結(jié)尾處填充到指定長(zhǎng)度
let str = "abc" str.padStart(5, ">") //>>abc "x".padEnd(5, "ab") // "xabab"
如果原字符串的長(zhǎng)度,等于或大于指定的最小長(zhǎng)度,則返回原字符串。
"xxx".padStart(2, "ab") // "xxx" "xxx".padEnd(2, "ab") // "xxx"
如果省略第二個(gè)參數(shù),則默認(rèn)補(bǔ)全空格
"x".padStart(4) // " x"
padStart的常見(jiàn)用途是為數(shù)值補(bǔ)全指定位數(shù)。下面代碼生成10位的數(shù)值字符串。
"1".padStart(10, "0") // "0000000001" "12".padStart(10, "0") // "0000000012" "123456".padStart(10, "0") // "0000123456"
另一個(gè)用途是提示字符串格式。
"12".padStart(10, "YYYY-MM-DD") // "YYYY-MM-12" "09-12".padStart(10, "YYYY-MM-DD") // "YYYY-09-12"
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/107878.html
摘要:更新了個(gè)版本,最新正式版是語(yǔ)言的下一代標(biāo)準(zhǔn),早已在年月正式發(fā)布?;静恢С忠苿?dòng)端瀏覽器對(duì)的支持情況版起便可以支持的新特性。比較通用的工具方案有,,,等。 1、ECMAScript是什么? 和 JavaScript 有著怎樣的關(guān)系? 1996 年 11 月,Netscape 創(chuàng)造了javascript并將其提交給了標(biāo)準(zhǔn)化組織 ECMA,次年,ECMA 發(fā)布 262 號(hào)標(biāo)準(zhǔn)文件(ECMA-...
摘要:,正式名稱是,但是這個(gè)名稱更加簡(jiǎn)潔。已經(jīng)不再是最新的標(biāo)準(zhǔn),但是它已經(jīng)廣泛用于編程實(shí)踐中。而制定了模塊功能。自從年雙十一正式上線,累計(jì)處理了億錯(cuò)誤事件,得到了金山軟件等眾多知名用戶的認(rèn)可。 譯者按: 人生苦短,我用ES6。 原文: Top 10 ES6 Features Every Busy JavaScript Developer Must Know 譯者: Fundebug 為了保...
摘要:常量變量先說(shuō)說(shuō)常量和變量的概念吧,常量是說(shuō)那種進(jìn)行一次賦值后不會(huì)更改的值,比如說(shuō)游戲賬戶的,變量是說(shuō)賦值后有更改的需求的,比如游戲名,游戲密碼。常用實(shí)例交換變量的值提取數(shù)據(jù)解構(gòu)賦值對(duì)提取對(duì)象中的數(shù)據(jù),尤其有用。 本系列文章適合快速掌握 ES6 入門語(yǔ)法,想深入學(xué)習(xí) ES6 的小伙伴可以看看阮一峰老師的《ECMAScript 6 入門》 學(xué)習(xí) 20% 的知識(shí)完成 80% 的工作 關(guān)于 ...
摘要:最近重構(gòu)了一個(gè)項(xiàng)目,引入了部分用法,最大的感受是讓這門語(yǔ)言變得更加嚴(yán)謹(jǐn),更加方便。通過(guò)該方法獲得位置后還得比較一次才能判斷是否存在。再來(lái)看看的寫法使用數(shù)組來(lái)初始化一個(gè),構(gòu)造器能確保不重復(fù)地使用這些值。下面提供鏈接,供有興趣的朋友參考。 最近重構(gòu)了一個(gè)SPA項(xiàng)目,引入了部分ES6用法,最大的感受是ES6讓javascript這門語(yǔ)言變得更加嚴(yán)謹(jǐn),更加方便。本篇將結(jié)合實(shí)戰(zhàn)經(jīng)驗(yàn),對(duì)最常用的部...
摘要:本文是系列的第二篇,前一篇走馬觀花概要介紹了,這一篇標(biāo)題之所以叫舊瓶新酒,是想介紹那些原來(lái)就被廣泛使用的對(duì)象,例如,對(duì)這些對(duì)象擴(kuò)展了一些很有用的新方法。用于監(jiān)聽(tīng)取消監(jiān)聽(tīng)數(shù)組的變化,指定回調(diào)函數(shù)。在中已被建議撤銷。 本文是 ES6 系列的第二篇,前一篇《ES6 走馬觀花》概要介紹了ES6,這一篇標(biāo)題之所以叫舊瓶新酒,是想介紹那些原來(lái)就被廣泛使用的JS對(duì)象,例如String、Array,E...
網(wǎng)上很少有提供不同版本接口對(duì)比的文章,所以自己總結(jié)一下。 Array Method Description Modify Version concat 連接多個(gè)數(shù)組,返回?cái)?shù)組副本,參數(shù)可以為值或數(shù)組 否 ES3 join 把數(shù)組元素組合為字符串 否 ES3 pop 刪除并返回最后一個(gè)元素 是 ES3 push 向數(shù)組末尾添加一個(gè)或多個(gè)值,返回?cái)?shù)組長(zhǎng)度 是 ES3 reve...
閱讀 2593·2023-04-26 00:56
閱讀 2037·2021-10-25 09:46
閱讀 1276·2019-10-29 15:13
閱讀 839·2019-08-30 15:54
閱讀 2224·2019-08-29 17:10
閱讀 2641·2019-08-29 15:43
閱讀 517·2019-08-29 15:28
閱讀 3058·2019-08-29 13:24