javascript自動変換

1357 ワード

javascript論理の是非やif条件の判断や都数字演算などは自動変換されます.分類は以下の通りです.
1、論理非の自動変換
事実についてBoolean(v)の結果は同じです.
(1)Boolean:true->true、false->false
(2)String:任意の非空文字->>true、「-」false
(3)Number:任意の非ゼロ文字(無限大を含む)->true、0とNaN->false
(4)Object:任意のオブジェクト->true,null->false
(5)Unidifined:undefined->false
alert(!false);//true
alert(!true);//false
alert(!null);//true
alert(!undefined);//true
alert(!"");//true
alert(!"abc");//false
alert(!{});//false
alert(!function(){});//false
alert(!0);//true
alert(!NaN);//true
alert(!Infinity);//false
alert(!123);//false
2、数字と文字列の自動変換
(1)プラス記号「+」があると、操作数が文字列であると接続されます.
alert(5+5);//10
alert("the sum of 5 and 5 is :"+(5+5));//the sum of 5 and 5 is :10
alert(5+"5");//55
alert("the sum of 5 and 5 is :"+5+5);//the sum of 5 and 5 is :55
(2)マイナス記号「-」があれば、操作数が文字列、布で値、null、undefinedであれば、バックグラウンドは自動的にNumber()を呼び出して変換して計算します.
alert(8-true);//7,true    1
alert(NaN-1);//NaN,         NaN,   NaN
alert(5-4);//1
alert(5-"");//5,""    0
alert(5-"2");//4,"2"    1
alert(5-null);//5,null    0
とりあえず以上のいくつかをまとめて、後で補足する時間があります.