在比较JavaScript中的数字时,如何避免自动施加



我想知道在比较使用少于少于和高的javascript的数字时,我如何避免自动胁迫。

例如,我已经知道==操作员会制作类型的胁迫,例如:

1 == '1'; //true

and ===操作员不会:

1 === '1'; // false

但是,在比较数字时如何避免这种情况?例如:

1<2; //true
1<'2'; //true
1<'0'; //false

我想避免使用这种自动类型的胁迫。

通过Regexp字面使用拳击。例如:

console.log(/3.1/ > 3);
console.log(/3.1/.exec(3.1) > 3)
console.log((/Infinity/).toString().replace(///g,"") > 3)

或numberFormat:

console.log(new Intl.NumberFormat({}, {'style':'percent'}).format(2) > 1)

参考

  • 快速参观JavaScript原始图:原始类型的自动箱 - Dave Mac - 中型

  • Regexp -JavaScript |mdn

  • 即将出现的正则表达功能|Web |Google开发人员

  • JavaScript中的国际化状态 - 博客|sitepen

  • 破坏Ecmascript 2015中的正则表达匹配|Marius Schulz

  • intl.numberformat -javaScript |mdn

相关内容

  • 没有找到相关文章

最新更新