#### 全等与条件判断
---
- 全等的判断尽可能的使用带类型判断 `===`;
- 尽可能不使用 `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;
//...
```