•
阅读 2 分钟
ES 提案:String.prototype.trimStart / String.prototype.trimEnd
这篇博客文章主要解释 ECMAScript 2019 的提案 “String.prototype.trimStart / String.prototype.trimEnd”(由 Sebastian Markbåge 提出)。介绍 .trimStart() 和 .trimEnd() 用于分别删除字符开始和结束的空白字符
字符串方法 .trimStart() 和 .trimEnd()
JavaScript 一直以来提供删除字符串左右两边的空白字符:
' abc '.trim() // 'abc'
新的提案添加仅仅削减字符串的开始或结束空白字符的方法:
' abc '.trimStart() // 'abc '
' abc '.trimEnd() // ' abc'
旧的字符串方法 .trimLeft() 和 .trimRight()
大多数的浏览器拥有字符串方法 .trimLeft() and .trimRight()。这两个方法添加进 ECMAScript 标准附录 B(作为 .trimStart() 和 .trimEnd() 的别名):网络浏览器和可选的其它地方的必须功能。
至于核心标准,该提案选择了不同的名称,因为对于程序脚本而言 “start”(开始)和 “end”(结束)比从左到右的人类语言 “left” 和 “right” 更有意义。基于此认知,标准的选择与 .padStart() 和 .padEnd() 一致。
什么计算为空白字符
会被 trim, trimLeft 和 trimRight 删除的空白字段是:
- 空白代码点(规范):
<TAB>(制表符,U+0009)<VT>(线表符,U+000B)<FF>(换页符,U+000C)<SP>(空格,U+0020)<NBSP>(无间断空白符,U+00A0)<ZWNBSP>(零宽度无间断空白字符,U+FEFF)- 任何在空白分隔符(Zs)分类中的其它空白属性的 Unicode 字符。
- 行结束代码点(规范):
<LF>(换行,U+000A)<CR>(回车,U+000D)<LS>(行分隔符,U+2028)<PS>(段落分隔符,U+2029)
本文由 吳文俊 翻译,原文地址 ES2019: String.prototype.trimStart / String.prototype.trimEnd
标签: javascript es2019