•
阅读 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