我想知道在JavaScript中使用小于和高于运算符比较数字时如何避免自动强制。
例如,我已经知道==运算符会进行类型强制,例如:
1 == '1'; //true
而且===运算符不会,例如:
1 === '1'; // false
但是,比较数字时我怎么能避免这种情况?例如:
1<2; //true
1<'2'; //true
1<'0'; //false
我想避免这种自动类型强制。
答案 0 :(得分:0)
通过RegExp文字使用装箱。例如:
console.log(/3.1/ > 3);
console.log(/3.1/.exec(3.1) > 3)
console.log((/Infinity/).toString().replace(/\//g,"") > 3)
&#13;
或NumberFormat:
console.log(new Intl.NumberFormat({}, {'style':'percent'}).format(2) > 1)
&#13;
<强>参考强>