摘要:提供的方法,可在字符串比较之前正规化,规避这种错误。过去判断数组或字符串中包含某一元素的时候需要用到方法,现在数组或字符串都能使用方法来判断是否包含某一元素。下面代码生成位的数值字符串。另一个用途是提示字符串格式。
1. 字符串的遍历
ES6字符串增加了遍历器接口,for-of 语法,相比传统for(let i=0;.....)来循环字符串,for-of循环可以识别大于0xFFFF的码点,传统的for循环无法识别这样的码点
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()方法,可在字符串比较之前正规化,规避这种错误。
"u01D1".normalize() === "u004Fu030C".normalize() // true3. includes()
过去判断数组或字符串中包含某一元素的时候需要用到indexOf()方法, 现在数组或字符串都能使用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是小数,则会被floor取整,n如果为其他类型则会转为数字再执行,如果为Infinity或负数或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"
如果省略第二个参数,则默认补全空格
"x".padStart(4) // " x"
padStart的常见用途是为数值补全指定位数。下面代码生成10位的数值字符串。
"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"
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/107878.html
摘要:更新了个版本,最新正式版是语言的下一代标准,早已在年月正式发布。基本不支持移动端浏览器对的支持情况版起便可以支持的新特性。比较通用的工具方案有,,,等。 1、ECMAScript是什么? 和 JavaScript 有着怎样的关系? 1996 年 11 月,Netscape 创造了javascript并将其提交给了标准化组织 ECMA,次年,ECMA 发布 262 号标准文件(ECMA-...
摘要:,正式名称是,但是这个名称更加简洁。已经不再是最新的标准,但是它已经广泛用于编程实践中。而制定了模块功能。自从年双十一正式上线,累计处理了亿错误事件,得到了金山软件等众多知名用户的认可。 译者按: 人生苦短,我用ES6。 原文: Top 10 ES6 Features Every Busy JavaScript Developer Must Know 译者: Fundebug 为了保...
摘要:常量变量先说说常量和变量的概念吧,常量是说那种进行一次赋值后不会更改的值,比如说游戏账户的,变量是说赋值后有更改的需求的,比如游戏名,游戏密码。常用实例交换变量的值提取数据解构赋值对提取对象中的数据,尤其有用。 本系列文章适合快速掌握 ES6 入门语法,想深入学习 ES6 的小伙伴可以看看阮一峰老师的《ECMAScript 6 入门》 学习 20% 的知识完成 80% 的工作 关于 ...
摘要:最近重构了一个项目,引入了部分用法,最大的感受是让这门语言变得更加严谨,更加方便。通过该方法获得位置后还得比较一次才能判断是否存在。再来看看的写法使用数组来初始化一个,构造器能确保不重复地使用这些值。下面提供链接,供有兴趣的朋友参考。 最近重构了一个SPA项目,引入了部分ES6用法,最大的感受是ES6让javascript这门语言变得更加严谨,更加方便。本篇将结合实战经验,对最常用的部...
网上很少有提供不同版本接口对比的文章,所以自己总结一下。 Array Method Description Modify Version concat 连接多个数组,返回数组副本,参数可以为值或数组 否 ES3 join 把数组元素组合为字符串 否 ES3 pop 删除并返回最后一个元素 是 ES3 push 向数组末尾添加一个或多个值,返回数组长度 是 ES3 reve...
阅读 2522·2023-04-26 00:56
阅读 1980·2021-10-25 09:46
阅读 1217·2019-10-29 15:13
阅读 791·2019-08-30 15:54
阅读 2168·2019-08-29 17:10
阅读 2599·2019-08-29 15:43
阅读 471·2019-08-29 15:28
阅读 3010·2019-08-29 13:24