#### 全等與條件判斷
---
- 全等的判斷盡可能的使用帶類型判斷 `===`;
- 盡可能不使用 `0 {Nubmer}` 來進行條件判斷;
- 使用 `空字符串'' `來進行條件判斷時,請添加適當的字符串去空方式來減少不必要的錯誤;
- 使用 ` || ` 來進行默認值的設置,以避免出現邏輯錯誤;
- 使用三元條件來簡化判斷邏輯;
- 如果返回值為boolean值, 則可以直接返回條件;
> <span class="do">正確實踐:</span>
```js
//全等判斷類型
if( "0" === 0 ) { } //false;
//去除不必要的字符串空值
var myStr = "hello myWorld! ";
if( $.trim(myStr) ) { } // "hello myWorld!";
//類型判斷
if( null === undefined ) { } //false;
//長度判斷
var myArray = [];
if( myArray.length ) { } // false;
//默認值設置
function myFunc(a,b){
var myValue = a || 1,
myTest = b || 10;
//do sth..
}
// 三元條件判斷
var a = b === z ? c : t;
//直接返回條件
//...
var a = true
return a;
//...
```
> <span class="dont">錯誤實踐:</span>
```js
//不加類型判斷會出現錯誤的返回值
if( "0" == 0 ) { } //true;
//去除不必要的字符串空值
var myStr = "hello myWorld! ";
if( myStr ) { } // "hello myWorld! ";
//類型判斷
if( null == undefined ) { } //true;
//長度判斷,不需要判斷0值
var myArray = [];
if( myArray.length == 0 ) { } // true;
//如果沒有傳參就很有可能出現邏輯錯誤;
function myFunc(a,b){
var myValue = a,
myTest = b;
}
// 三元條件判斷
if( z ){
a = c;
} else {
a = t;
}
//boolean值直接返回即可,不需要再進行條件判斷;
//...
return a ? true : false;
//...
```