JavaScript 中如何比较字符串
使用严格相等 (===)
运算符来比较字符串,例如 'string' === 'string'
。 操作符检查左侧和右侧的值是否相等。 如果值相等,则严格相等运算符返回 true,否则返回 false。
const str1 = 'abc';
const str2 = 'abc';
if (str1 === str2) {
console.log('✅ Strings are equal');
} else {
console.log('⛔️ Strings are NOT equal');
}
我们使用严格相等 (===)
运算符来检查两个字符串是否相等。
这是在 JavaScript 中比较字符串的最常见和最直接的方法。
如果要检查两个字符串是否不相等,请改用严格相等运算符 (!==)
的否定形式。
const str1 = 'abc';
const str2 = 'xyz';
if (str1 !== str2) {
console.log('✅ Strings are NOT equal');
} else {
console.log('⛔️ Strings are equal');
}
要使两个字符串相等,它们必须以相同的顺序具有相同的字符。
请注意,如果左侧和右侧的值属于不同类型,则严格相等运算符返回 false。
console.log(123 === '123'); // ?️ false
这是因为与相等 (==)
运算符相反,严格相等运算符 (===)
在比较它们之前不会强制转换值的类型。
这是相同的示例,但是这次我们使用松散相等(==)
。
console.log(123 == '123'); // ?️ true
大多数(如果不是全部)时间使用松散相等是不直观和不好的做法,因为它使我们的代码更难阅读。
松散相等 (==)
运算符尝试在比较左右值之前将它们转换为相同类型。 这可能会非常令人困惑,并且可能导致难以跟踪错误。
下面是一些使用字符串的严格相等 (===)
运算符的更多示例。
console.log('abc' === 'abc'); // ?️ true
console.log('abc' === 'ABC'); // ?️ false
console.log('abc' === ' abc '); // ?️ false
请注意
,严格相等运算符执行区分大小写的检查。
如果我们需要使用严格相等运算符执行不区分大小写的检查,请在比较两个字符串时将它们转换为小写/大写。
const str1 = 'ABC';
const str2 = 'abc';
// ?️ true
console.log(str1.toLowerCase() === str2.toLowerCase());
下面是一些使用否定严格相等运算符 (!==)
的示例。
console.log('a' !== 'A'); // ?️ true
console.log('a' !== 'a'); // ?️ false
console.log('a' !== ' a'); // ?️ true
确保始终使用严格相等 (===)
运算符,因为松散相等运算符 (==)
会导致混淆并导致应用程序中的错误。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。