JS 的5个不良编码习惯
1.不要使用隐式类型转换 JavaScript是一种松散类型的语言。如果使用得当,这是一个好处,因为它给你带来了灵活性。 大多数运算符 + - * / == (不包括 === )在处理不同类型的操作数时会进行隐式转换。 语句 if ( condition ){...} , while ( condition ){...} 隐式地将条件转换为布尔值。 下面的示例依赖于类型的隐式转换,这种有时候会让人感到很困惑: console . log ( "2" + "1" ); // => "21" console . log ( "2" - "1" ); // => 1 console . log ( '' == 0 ); // => true console . log ( true == []); // -> false console . log ( true == ![]); // -> false 过度依赖隐式类型转换是一个坏习惯。首先,它使你的代码在边缘情况下不太稳定。其次,增加了引入难以重现和修复的bug的机会。 现在咱们实现一个获取对象属性的函数。如果属性不存在,函数返回一个默认值 function getProp ( object , propertyName , defaultValue ) { if (! object [ propertyName ]) {