在 JavaScript 中比较两个字符串
JavaScript 使比较字符串变得容易。 首先,要比较两个字符串是否完全相等,尽量请使用 ===
,不要使用 ==
。
const str1 = '1st string';
const str2 = str1;
const str3 = '2nd string';
str1 === str2; // true
str1 === str3; // false
// Always use `===`, because `==` can have some surprises
'1' == 1; // true
'2' == 2; // true
<
和 >
使用 <
和 >
根据 Unicode 排序顺序 。 这意味着数字总是 <
大写字母,大写字母总是 <
小写字母。
const str1 = '0';
const str2 = 'A';
const str3 = 'Z';
const str4 = 'a';
str1 < str2; // true
str2 < str3; // true
str3 < str4; // true
当比较长度大于 1 的字符串时,JavaScript 会逐个字符进行比较。 如果两个字符串都以相同的字符开头,JavaScript 会比较每个字符串的第二个字符。 字符串的结尾总是 <
任何字符。
// Empty string '' is `<` all other strings
const str1 = '';
const str2 = 'A';
const str3 = 'A1';
const str4 = 'Z0';
str1 < str2; // true
str2 < str3; // true
str3 < str4; // true
这 <
和 >
操作符在字符串与非字符串进行比较时,将返回 false
。
1 < 'A'; // false
'A' < 1; // false
null < 'A'; // false
'A' < null; // false
undefined < 'A'; // false
'A' < undefined; // false
排序
默认情况下, Array#sort()
函数将数组中的所有值转换为字符串,然后按 Unicode 排序顺序对它们进行排序 。 这 sort()
函数放置 null
和 undefined
数组末尾的值。
1 < 'A'; // false
'A' < 1; // false
null < 'A'; // false
'A' < null; // false
undefined < 'A'; // false
'A' < undefined; // false
<=
和 >=
使用时要小心 <=
和 >=
,因为这些使用相同类型的强制 ==
做。
'1' <= 1; // true
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论