# 学习过程中学到的一些取巧之法
# !!
强制转换为布尔值,代替Boolean(param)
!!'' // false
!!0 // false
!!null // false
!!undefined // false
!!'abc' // true
!!1 // true
!!{} // true
!![] // true
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# ~~
位运算符~
反转所有位,~~
代替Math.floor()
速度更快
规则
- 正数:向下取整
- 负数:向上取整
// 正数
Math.floor(1.0123) // 1
~~1.0123 // 1
// 负数
Math.floor(-1.123) // -1
~~-1.123 // -2
1
2
3
4
5
6
7
2
3
4
5
6
7
# +
字符串转换为数字(整数),代替
- parseInt(str)
~~ '-1' // -1
parseInt('-1') // -1
~~ '1.234' // 1
Number('-1.234') // -1.234
1
2
3
4
2
3
4