JavaScriptのデータタイプ変換——強制変換


JavaScriptは弱いタイプの言語です.
特徴:
1.変数を宣言するときは、データの種類を事前に指定する必要はありません.2.同じ変数は前後して異なるデータタイプを保存することができます.3.jsは自分の必要に応じて自動的にタイプを変えます.
var a=1;
var b=true;
var c="string";
console.log(a+b);//2
console.log(a+c);//"1string"
具体的な変換方法は、演算子に一つ一つ説明されます.
強制変換
プログラマは自動的に関数を呼び出し、タイプ変換を完了しました.
任意のタイプがSteringタイプに変わります.
出力時や文字列に変換する場合に使用します.
方法1:
x.toString();//x          ,        ,       。
注意:nullとundefinedはtoString方法がないので、nullとundefinedは包装タイプがないです.
方法二:
String(x);
すべては文字列に変換できます.nullとundefinedが含まれます.
実際にString()とtoString()は呼び出し関係です.
function String(x){
    if(x===undefined){
        return "undefined";
    }else if(x===null){
        return "null";
    }else{
        return x.toString();
    }
}
注:「==」は全等号で、「すべて等しい」と読み、後の演算子で具体的に言います.
x.toString()とx.valueOf()の違い
1.valueOfはオブジェクトからパッケージの値を取得し、必ずしも文字列タイプではない.2.Stringは必ず文字列の種類を返します.3.valueOfは、自動的に呼び出して、暗黙的な変換に属します.
任意のタイプがNumberタイプに変わります.
方法1:
Number(x);
暗黙的な変換に相当し、純粋な数字だけで構成されたコンテンツまたはbookタイプをサポートします.
Number("123")=123
Number(true)=1
いくつかの特殊:
Number("")=0
Number(" ")=0
Number([])=0
方法二:
parseFloat(str);
文字列の前の数字部分(自動的に最初の空の文字をフィルタリングします.)を読み取ります.ブールの種類は変えられません.
parseFloat("123")=123
parseFloat("23string")=23
parseFloat(" 123asd")=123
parseFloat(" 12 3asd")=12
parseFloat(true)=NaN
回れないなら、NaNに戻ります.
Number("JavaScript")=NaN
NaN——Not a Number.NaN無効のデジタルタイプの値.NaNは算数計算をすれば、永遠にNaNに戻ります.NaNは大きくなく、小さくなく、いかなる値にも等しくない.
任意のタイプのロンドンタイプ
Boolean(x);
5つの値だけがfalseになります.残りはtrueになります.falseの値は0、NaN、null、undefinedになります.