jsでは-1、{}に対応するブール値を判断します.
1864 ワード
一般的には、−1、{}に対応するブール値はfalseであるべきであるが、jsにおいては、上記2つの変数をif演算し、戻り値はいずれもtrueである.
<script type="text/javascript">
// , if(0) false
if(-1){
console.log("-1 is true");
}else{
console.log("-1 is false");
}
if({}){
console.log("{} is true");
}else{
console.log("{} is false")
}
if({}.length){
console.log("{}.length is true");
}else{
console.log("{}.length is false")
}
</script>
コンソールの出力は以下の通りです.-1 is true
{} is true
{}.length is false
ですから、これから条件判断をする場合、戻り値が数字であれば、良い処理方法は直接数値比較を行います.戻り値がオブジェクトの場合、空のオブジェクトかどうかを判断するには、オブジェクトのlength属性を用いて判断する方が良い.