js のさまざまな種類の基本データを変換できます。この変換はルールベースであり、ランダムではありません。 js には、文字列、数値、ブール値、null、および未定義の 5 つの基本的なデータ型があり、その中で最初の 3 つの型は計算や比較によく使用されます。
基本データ間の変換
其它类型转化数字
原始数据类型 |
目标类型Number |
undefined |
NaN |
null |
0 |
false |
0 |
true |
1 |
数字串 |
相应的数字 |
不能转化的字符串 |
NaN |
其它类型转化为字符串
原始数据类型 |
目标类型String |
undefined |
undefined |
null |
null |
false |
false |
true |
true |
数字 |
数字字符串 |
異なる型の基本データ間の加算。データは最初に数値に変換され、次に文字列に変換されます (演算に文字列型データが含まれる場合)
null 未定義 // 0 NaN
null false // 0 0
1 true // 1 1
1 '1' //'11'; 数値と文字列を加算した結果は文字列
1 2 '3' //'33'; (1 2) の結果は '3' に加算されます。ここでは、各加算ステップを個別に分解する必要があります。そうしないと、以下と同じ結果になります。 >
1 (2 '3') //'123'; まず 2 '3' を計算し、次に 1 '23' を計算します。
の null //'snull'
' s' 未定義 // 'sunknown'
' true // 'true'
1 true unknown 's' // 1 1 NaN 's'=2 NaN 's' = NaN 's'=NaNs
オブジェクトは加算演算と減算演算に参加します
オブジェクトは基本型のデータ操作に参加し、最初に基本型に変換されます。まず valueOf メソッドを呼び出します。戻り値が基本型でない場合は、toString メソッドを呼び出します。ただし、Date データはその逆です
//観察しやすくするために、書き換えます。 Date の toString メソッドと valueOf メソッド
Date.prototype.toString = function(){
return 1;
}
Date.prototype.valueOf = function(){
return 2;
}
var a = new Date,
b = new Date; // toString, 1 1, を呼び出します。結果は 2
// toString メソッドを書き換えます
Date.prototype.toString = function(){
return {}
var c = new Date ,
d = new Date;
c d; // toString メソッドを呼び出すと、valueOf, 2 2 が返され、結果は 4
// 次に valueOf Method
Date.prototype.valueOf = function(){
return {};
}
var e = new Date,
を書き換えます。 f = 新しい日付;
e f; // エラーレポート
上記の例を Object または他の型に置き換えて、対応する結果を取得します。ただし、最初に valueOf を呼び出してから、toString を呼び出します。
「 」の魔法の効果
データの前にプラス記号「 」があり、文字列を数値に変換できます
コードをコピー
注: これは初めてです、形式が良くなく、間違いがたくさんあります。誰でも貢献することを歓迎します