Skip to content

学习过程中学到的一些取巧之法

!!

强制转换为布尔值,代替Boolean(param)

js
!!''    // false
!!0     // false
!!null  // false
!!undefined // false
!!'abc' // true
!!1     // true
!!{}    // true
!![]    // true
!!''    // false
!!0     // false
!!null  // false
!!undefined // false
!!'abc' // true
!!1     // true
!!{}    // true
!![]    // true

~~

位运算符~反转所有位,~~代替Math.floor()速度更快

规则

  • 正数:向下取整
  • 负数:向上取整
js
// 正数
Math.floor(1.0123)  // 1
~~1.0123            // 1

// 负数
Math.floor(-1.123)  // -1
~~-1.123            // -2
// 正数
Math.floor(1.0123)  // 1
~~1.0123            // 1

// 负数
Math.floor(-1.123)  // -1
~~-1.123            // -2

+

字符串转换为数字(整数),代替

  • parseInt(str)
js
~~ '-1'       // -1
parseInt('-1') // -1
~~ '1.234'      // 1
Number('-1.234')  // -1.234
~~ '-1'       // -1
parseInt('-1') // -1
~~ '1.234'      // 1
Number('-1.234')  // -1.234

更新于: