JavaScript中的String研究05:实例方法——toLowerCase、toUpperCase、trim、trimEnd、trimStart、toString、valueOf
在JavaScript中,String
对象提供了丰富的实例方法,方便开发者对字符串进行各种操作,如转换大小写、去除空白、类型转换等。本篇文章将深入探讨以下常用的String
实例方法:
toLowerCase()
toUpperCase()
trim()
trimEnd()
trimStart()
toString()
valueOf()
通过对这些方法的学习和实践,可以提高我们在字符串处理和类型转换方面的能力。
一、toLowerCase()
1. 定义
toLowerCase()
方法返回调用该方法的字符串转换为小写后的新字符串。
2. 语法
str.toLowerCase()
3. 用途
- 将字符串中的所有字母转换为小写。
- 常用于比较字符串时忽略大小写的场景。
4. 示例
let str = "Hello, World!";
let lowerStr = str.toLowerCase();
console.log(lowerStr); // "hello, world!"
// 忽略大小写比较
let input = "JavaScript";
let keyword = "javascript";
if (input.toLowerCase() === keyword.toLowerCase()) {
console.log("Match!");
} else {
console.log("No Match!");
}
// 输出:"Match!"
5. 注意事项
- 该方法不会修改原字符串,返回的是一个新字符串。
- 对于非字母字符,
toLowerCase()
不会影响。
二、toUpperCase()
1. 定义
toUpperCase()
方法返回调用该方法的字符串转换为大写后的新字符串。
2. 语法
str.toUpperCase()
3. 用途
- 将字符串中的所有字母转换为大写。
- 常用于格式化字符串显示,如标题、标识符等。
4. 示例
let str = "Hello, World!";
let upperStr = str.toUpperCase();
console.log(upperStr); // "HELLO, WORLD!"
// 标题格式化
let title = "javaScript programming";
let formattedTitle = title.toUpperCase();
console.log(formattedTitle); // "JAVASCRIPT PROGRAMMING"
5. 注意事项
- 该方法不会修改原字符串,返回的是一个新字符串。
- 对于非字母字符,
toUpperCase()
不会影响。
三、trim()
1. 定义
trim()
方法从字符串的两端去除空白字符,返回一个新的字符串。
2. 语法
str.trim()
3. 用途
- 去除字符串开头和结尾的空白字符(包括空格、制表符、换行符等)。
- 常用于清理用户输入的数据,避免因空白字符导致的匹配错误。
4. 示例
let str = " Hello, World! ";
let trimmedStr = str.trim();
console.log(trimmedStr); // "Hello, World!"
// 用户输入处理
let userInput = " username ";
let validInput = userInput.trim();
console.log(`'${userInput}'`); // "' username '"
console.log(`'${validInput}'`); // "'username'"
5. 注意事项
- 该方法不会修改原字符串,返回的是一个新字符串。
- 只去除字符串两端的空白字符,中间的空白不会受影响。
四、trimEnd()
1. 定义
trimEnd()
方法从字符串的末尾去除空白字符,返回一个新的字符串。也称为trimRight()
,两者等价。
2. 语法
str.trimEnd()
// 或者
str.trimRight()
3. 用途
- 去除字符串末尾的空白字符。
- 当只需要去除右侧空白时使用。
4. 示例
let str = " Hello, World! ";
let trimmedEndStr = str.trimEnd();
console.log(trimmedEndStr); // " Hello, World!"
// 对比trim()
let trimmedStr = str.trim();
console.log(trimmedStr); // "Hello, World!"
5. 注意事项
trimEnd()
不会修改原字符串,返回的是一个新字符串。trimRight()
是trimEnd()
的别名,为了兼容性,部分旧浏览器只支持trimRight()
。
五、trimStart()
1. 定义
trimStart()
方法从字符串的开头去除空白字符,返回一个新的字符串。也称为trimLeft()
,两者等价。
2. 语法
str.trimStart()
// 或者
str.trimLeft()
3. 用途
- 去除字符串开头的空白字符。
- 当只需要去除左侧空白时使用。
4. 示例
let str = " Hello, World! ";
let trimmedStartStr = str.trimStart();
console.log(trimmedStartStr); // "Hello, World! "
// 对比trim()
let trimmedStr = str.trim();
console.log(trimmedStr); // "Hello, World!"
5. 注意事项
trimStart()
不会修改原字符串,返回的是一个新字符串。trimLeft()
是trimStart()
的别名,为了兼容性,部分旧浏览器只支持trimLeft()
。
六、toString()
1. 定义
toString()
方法返回指定对象的字符串表示形式。
2. 语法
str.toString()
3. 用途
- 将
String
对象转换为原始字符串值。 - 在需要字符串表示时被自动调用。
4. 示例
let strObj = new String("Hello, World!");
console.log(typeof strObj); // "object"
console.log(strObj); // [String: 'Hello, World!']
let strPrimitive = strObj.toString();
console.log(typeof strPrimitive); // "string"
console.log(strPrimitive); // "Hello, World!"
// 自动调用toString()
console.log("Message: " + strObj); // "Message: Hello, World!"
5. 注意事项
- 对于原始字符串值,
toString()
返回自身。 toString()
方法对于所有对象都可用,不仅限于字符串。
七、valueOf()
1. 定义
valueOf()
方法返回指定对象的原始值,对于String
对象,返回其对应的原始字符串值。
2. 语法
str.valueOf()
3. 用途
- 获取
String
对象对应的原始字符串值。 - 在需要原始值的场景中被自动调用。
4. 示例
let strObj = new String("Hello, World!");
console.log(typeof strObj); // "object"
console.log(strObj); // [String: 'Hello, World!']
let value = strObj.valueOf();
console.log(typeof value); // "string"
console.log(value); // "Hello, World!"
// 自动调用valueOf()
console.log(strObj == "Hello, World!"); // true
5. 注意事项
- 对于原始字符串值,
valueOf()
返回自身。 valueOf()
方法对于所有对象都可用,不仅限于字符串。- 在非严格比较或算术运算中,JavaScript会自动调用
valueOf()
。
八、总结
toLowerCase()
:将字符串转换为小写,常用于忽略大小写的比较。toUpperCase()
:将字符串转换为大写,常用于格式化显示。trim()
:去除字符串两端的空白字符,常用于清理用户输入。trimEnd()
:去除字符串末尾的空白字符。trimStart()
:去除字符串开头的空白字符。toString()
:返回字符串的字符串表示形式,常在需要字符串时被自动调用。valueOf()
:返回字符串的原始值,常在需要原始值时被自动调用。
九、参考资料
- MDN Web Docs - String
- MDN Web Docs - String.prototype.toLowerCase()
- MDN Web Docs - String.prototype.toUpperCase()
- MDN Web Docs - String.prototype.trim()
- MDN Web Docs - String.prototype.trimEnd()
- MDN Web Docs - String.prototype.trimStart()
- MDN Web Docs - String.prototype.toString()
- MDN Web Docs - String.prototype.valueOf()