---
url: https://sugarat.top/bigWeb/js/p0.md
---

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

## !!

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

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

## ~~

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

* 正数:向下取整
* 负数:向上取整
  :::

```js
// 正数
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
```
