前端 ES6 面试题, ES6 新增了哪些字符串处理函数?
前端 ES6 面试题, ES6 新增了哪些字符串处理函数?
QA
Step 1
Q:: ES6
新增了哪些字符串处理函数?
A:: ES6
新增了以下字符串处理函数:
1.
includes()
:用于判断一个字符串是否包含在另一个字符串中,返回布尔值。
2.
startsWith()
:判断字符串是否以给定的子字符串开头,返回布尔值。
3.
endsWith()
:判断字符串是否以给定的子字符串结尾,返回布尔值。
4.
repeat()
:返回一个新字符串,该字符串重复了原字符串指定次数。
5.
padStart()
:用指定的字符串在原字符串的开头填充,直到填充后的字符串长度等于给定长度。
6.
padEnd()
:用指定的字符串在原字符串的末尾填充,直到填充后的字符串长度等于给定长度。
这些函数在字符串处理时提供了更简洁和直观的方式,减少了手动编写复杂的逻辑。
Step 2
Q:: 如何使用includes()
函数来判断一个子字符串是否存在于另一个字符串中?
A:: includes()
方法接受一个子字符串作为参数,并返回一个布尔值。如果子字符串存在于调用它的字符串中,则返回true
,否则返回false
。例如:
const str = 'Hello World';
console.log(str.includes('World')); // 输出: true
console.log(str.includes('world')); // 输出: false (因为大小写不同)
Step 3
Q:: 解释padStart()
和padEnd()
的用法并给出示例。
A:: padStart()
和padEnd()
用于在字符串的开头或末尾填充指定的字符,使字符串达到指定的长度。
-
padStart(targetLength, padString)
:如果原字符串长度小于targetLength
,在字符串前面用padString
填充,直到长度达到targetLength
。
-
padEnd(targetLength, padString)
:类似地,在字符串末尾填充。
示例:
let str = '5';
console.log(str.padStart(3, '0')); // 输出: '005'
console.log(str.padEnd(3, '0')); // 输出: '500'
Step 4
Q:: ES6
字符串函数startsWith()
与endsWith()
的主要区别是什么?
A:: startsWith()
和endsWith()
都是用于检查字符串的特定部分是否匹配给定的子字符串。
-
startsWith()
:检查字符串是否以给定的子字符串开头,返回布尔值。
-
endsWith()
:检查字符串是否以给定的子字符串结尾,返回布尔值。
它们的参数和用法非常相似,只是检查的位置不同。例如:
let str = 'JavaScript';
console.log(str.startsWith('Java')); // 输出: true
console.log(str.endsWith('Script')); // 输出: true
Step 5
Q:: 什么时候应该使用repeat()
函数?
A:: repeat()
函数用于创建一个新字符串,将原字符串重复指定次数。例如,在创建重复模式或生成多次输出时,repeat()
非常有用。
例如:
let str = 'abc';
console.log(str.repeat(3)); // 输出: 'abcabcabc'
适用场景包括生成可视化分隔线、制作简单的文本动画或重复某些字符来填充字符串。