ES9 中全新的字符串方法详解:String.prototype.trimStart() 和 String.prototype.trimEnd()
随着 JavaScript 语言的发展,ES9 终于推出了全新的字符串方法:String.prototype.trimStart() 和 String.prototype.trimEnd()。本文将详细讲解这两个方法的使用,包括示例代码以及深度剖析。
一、String.prototype.trimStart()
String.prototype.trimStart() 方法用于删除字符串开头的空格符号,返回结果为新的字符串。需要注意的是,这个方法是一个标准显式方案,所以必须使用前缀“String.prototype”来调用它。
示例代码:
let str = " Hello World! "; console.log(str.trimStart()); // "Hello World! "
解释:
使用 trimStart() 方法,可以将字符串开头的所有空格删除,结果为“Hello World! ”。可以注意到,原字符串中的空格依旧存在。
二、String.prototype.trimEnd()
String.prototype.trimEnd() 方法用于删除字符串结尾的空格符号,返回结果为新的字符串。同样需要注意,这个方法也是一个标准显式方案,所以必须使用前缀“String.prototype”来调用它。
示例代码:
let str = " Hello World! "; console.log(str.trimEnd()); // " Hello World!"
解释:
使用 trimEnd() 方法,可以将字符串结尾的所有空格删除,结果为“ Hello World!”,同样可以注意到,原字符串中的空格依旧存在。
三、深入理解
虽然这两个方法非常简单,但它们的功能确实非常有用。在使用它们之前,我们需要了解一个非常重要的事实——字符串在 JavaScript 中是不可变的。
意思是说,一旦字符串被创建,就无法在其上修改。因此,无论是 slice(),substring(),substr() 还是更改字符的特定位置,都无法 修改原始字符串。这意味着实际上,使用这些方法和操作符所返回的都是新字符串,可能不是原始字符串的一部分。
因此,如果我们想在删除空格之前对字符串做其他某些修改,如删除某个特定字符,我们可以考虑使用这两个方法嵌套调用。如下面的代码示例:
let str = " He-l-lo Wo-r-ld! "; let modified = str .replaceAll("-", "") // 去掉字符串中的“-” .trimStart() // 去掉开头的空格 .trimEnd(); // 去掉结尾的空格 console.log(modified); // "He-l-lo Wo-r-ld!"
解释:
这个示例中,我们使用了 replaceAll() 方法先去掉了字符串中的“-”,然后使用了 trimStart() 和 trimEnd() 方法去掉了开头和结尾的空格。结果,我们得到了新的字符串“He-l-lo Wo-r-ld!”。
总结:
至此,我们已经详细地介绍了 ES9 中全新的字符串方法:String.prototype.trimStart() 和 String.prototype.trimEnd()。这两个方法的简单易用使得它们可以快速地优化代码,并极大地提高了代码的可读性。在实际编程中,使用这两个方法可以使我们的代码更加优雅、高效且易于维护。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/652ddcd47d4982a6ebef9577