当比较运算符的输入作为两个字符串值给出时,比较运算符喜欢>和<返回Boolean值。
我尝试了几个例子:
/* String vs String */
console.log('firstName' < 'lastname'); // true
console.log('firstName' < 'Firstname'); // false
console.log('!firstName' < 'lastname'); // true
console.log('!firstName' < 'Firstname'); // true
console.log('!firstName' < '!Firstname'); // false
console.log('!firstName' < '_!Firstname'); // true
console.log('@!firstName' < '_!Firstname'); // true
console.log('@!firstName' < '2_!Firstname'); // false
/* String vs Number */
console.log('@!firstName' < 2); // false
console.log('@!firstName' < -1); // false
/* String vs Special Numbers */
console.log('@!firstName' < Infinity); // false
console.log('@!firstName' < -Infinity); // false
console.log('@!firstName' < -Infinity + Infinity); // false
/* String vs NaN */
console.log('@!firstName' < NaN); // false
console.log(NaN.toString()); // "NaN"
console.log('@!firstName' < "NaN"); // true
/* String vs Arrays */
console.log('firstName' < [Infinity, -Infinity]); // false
console.log('firstName' < ['Firstname', Infinity, -Infinity]); // false
console.log('firstName' < ['2_Firstname', Infinity, -Infinity]); // false
我真的很想知道JavaScript如何真正评估这些表达式。在上面的示例中,我发现这是最迷人的一个console.log('@!firstName' < Infinity); // false
。
因此,我的问题是:
在这些情况下,如何在JavaScript中使用“大于”和“小于”运算符完成比较(来自上述示例):
字符串vs字符串,
字符串与数字,
字符串与特殊数字,
字符串vs NaN,
字符串与数组
猛跑小猪
MYYA
相关分类