* [建議] 類型檢測優先使用 typeof。對象類型檢測使用 instanceof。null 或 undefined 的檢測使用 == null
```
// string
typeof variable === 'string'
// number
typeof variable === 'number'
// boolean
typeof variable === 'boolean'
// Function
typeof variable === 'function'
// Object
typeof variable === 'object'
// RegExp
variable instanceof RegExp
// Array
variable instanceof Array
// null
variable === null
// null or undefined
variable == null
// undefined
typeof variable === 'undefined'
```
* [建議] 轉換成 string 時,使用 + ''
```
// good
num + '';
// bad
new String(num);
num.toString();
String(num);
```
* [建議] 轉換成 number 時,通常使用 +
```
// good
+str;
// bad
Number(str);
```
* [建議] string 轉換成 number,要轉換的字符串結尾包含非數字并期望忽略時,使用 parseInt
```
var width = '200px';
parseInt(width, 10);
```
* [強制] 使用 parseInt 時,必須指定進制
```
// good
parseInt(str, 10);
// bad
parseInt(str);
```
* [建議] 轉換成 boolean 時,使用 !!
```
var num = 3.14;
!!num;
```
* [建議] number 去除小數點,使用 Math.floor / Math.round / Math.ceil,不使用 parseInt
```
// good
var num = 3.14;
Math.ceil(num);
// bad
var num = 3.14;
parseInt(num, 10);
```