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