最近,ECMAScript 2017 加入了一些新的 String 对象的功能。这些功能可以用于在 JavaScript 中更轻松地处理字符串,包括处理 Unicode 字符串、字符串填充等。
在本文中,我们将深入学习新的 String 对象相关的注意事项,并提供了一些有用的示例代码来帮助您更好地理解这些功能。
1. String.prototype.padStart() 和 String.prototype.padEnd()
String.prototype.padStart() 和 String.prototype.padEnd() 可以用于将字符串填充为特定的长度。这两个方法都需要两个参数:一个是填充后的长度,另一个是用于填充的字符串。
示例代码:
// javascriptcn.com 代码示例 // example 1 const str = 'foo'; console.log(str.padStart(5, 'x')); // 'xxfoo' console.log(str.padEnd(5, 'x')); // 'fooxx' // example 2 const num = '123'; console.log(num.padStart(10, '0')); // '0000000123'
2. String.prototype.trimStart() 和 String.prototype.trimEnd()
String.prototype.trimStart() 和 String.prototype.trimEnd() 可以用于在某些情况下,去掉字符串的开头和结尾的空格字符。
示例代码:
// javascriptcn.com 代码示例 // example 1 const str = ' Hello World '; console.log(str.trimStart()); // 'Hello World ' console.log(str.trimEnd()); // ' Hello World' // example 2 const str2 = ' Hello World ! '; console.log(str2.trimStart().trimEnd()); // 'Hello World !'
3. String.prototype.includes(), String.prototype.startsWith() 和 String.prototype.endsWith()
String.prototype.includes()、String.prototype.startsWith() 和 String.prototype.endsWith() 可以用于检查字符串中是否包含某些字符或者以某些字符开头或结尾。
示例代码:
// javascriptcn.com 代码示例 // example 1 const str = 'Hello World'; console.log(str.includes('World')); // true console.log(str.startsWith('Hello')); // true console.log(str.endsWith('ld')); // true // example 2 const str2 = 'abc'; console.log(str2.includes('b')); // true console.log(str2.startsWith('a')); // true console.log(str2.endsWith('c')); // true
4. Unicode 字符串的处理
ECMAScript 2017 引入了一些新的函数用于处理 Unicode 字符串,这些函数可以接受 Unicode 编码参数,返回 Unicode 字符。
示例代码:
// example 1 console.log(String.fromCodePoint(65)); // 'A' console.log(String.fromCodePoint(0x1F601)); // '😁' // example 2 console.log('A'.codePointAt(0)); // 65 console.log('😁'.codePointAt(0)); // 128513
总结
ECMAScript 2017 中新加入的 String 对象相关的功能,主要包括了字符串填充、去除空格、检查字符串是否包含某些字符以及 Unicode 字符串处理等功能。这些功能可以方便地用于日常的字符串操作,提高开发效率。
希望本文能够对您有所帮助,谢谢!
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65858124d2f5e1655d021408