1.Math.floor
向下取整
需要用一次Math对象,语法看起来很冗余,但其实是最建议用的。
number -> int
2.parseInt
虽然看起来是转Int,但其实是针对于string的,先隐式转换Number,再转Int
如果传一个Number进去
number -> string -> number -> int
是多余操作,ts中使用会报错的。
3.位操作——位非~~ 和 位与 |0
function floor(num) {
return num | 0;
}
function floor(num) {
return ~~num;
}
~~(1.1+2.2) //3
(1.1+2.2) | 0 //3
复制代码
只有int类型可以进行位操作,所以运算前,就直接隐式转换了
最简洁
缺点
- 要加括号,因为位运算的优先级最弱,如果写成 ~~num+1.1 必须写成 ~~(num+1.1)
2.位运算eslint会爆警告,正常开发中不太可能遇到位运算,警告也合理,需要配一个配置项。
number -> int
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END