ホームページ > 記事 > ウェブフロントエンド > JavaScript タイプ間の比較を共有する
プリミティブタイプ:
number
string
boolean
null
未定義
オブジェクトタイプ:
オブジェクト
関数
配列
日付
...
+/-
演算+/-
运算"37" + 7 = "377"
"37" - 7 = 30
==
运算以下为true:
"1.23" == 1.23
0 == false
null == undefined
===
严格等于类型不同,返回false
类型相同,以下为true:
null === null
undefine === null
NaN != NaN
new Object != new Obejct
==
等于类型相同,同===
类型不同,尝试类型转换比较
null == undefined
number == string 转number
boolean == ? 转number
Object == number | string 尝试对象转换为基本类型
其他:false
为了便于操作基本类型值,Js提供了基本类型的自动包装功能,每单读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,并在调用后自动销毁。
由于基本包装类型和基本类型的含义并不一样,会导致typeof等操作产生不同的结果,不推荐显示实例化基本数据类型
var a = "string"; alert(a.length); //6 a.t = 3; alert(a.t); //undefined
以下为true:
typeof 100 === “number” typeof true === “boolean” typeof function () {} === “function” typeof(undefined) ) === “undefined” typeof(new Object() ) === “object” typeof( [1, 2] ) === “object” typeof(NaN ) === “number” //NaN也为number typeof(null) === “object”
obj instanceof Object
==
演算
0 == false
===
🎜🎜🎜🎜異なる型、falseを返す🎜🎜🎜🎜同じ型、以下は真です: 🎜🎜 🎜🎜null === null🎜🎜🎜🎜undefine === null🎜🎜🎜🎜NaN != NaN🎜🎜🎜🎜new Object != new Objct🎜🎜🎜🎜==
は🎜🎜と等しい🎜🎜同じ型、===
と同じ🎜🎜🎜🎜型が異なる、比較するための型変換を試行🎜🎜🎜🎜null == 未定義🎜🎜🎜🎜number == string to数値🎜🎜🎜🎜boolean == ? 数値を変換します🎜🎜🎜🎜オブジェクト == 数値 | 文字列 オブジェクトを基本型に変換してみます🎜🎜🎜🎜その他: false🎜🎜🎜🎜基本型値の操作、Js は自動基本型パッケージング機能を提供します。基本型値が読み取られるたびに、対応する基本パッケージング型のオブジェクトがバックグラウンドで作成され、呼び出し後に自動的に破棄されます。 🎜🎜基本パッケージング型と基本型の意味が異なるため、typeof などの操作は異なる結果を生成します。インスタンス化された基本データ型を表示することはお勧めできません🎜[1, 2] instanceof Array === true new Object() instanceof Array === false🎜型検出🎜🎜typeof🎜🎜次のことが当てはまります:🎜
Object.prototype.toString.apply([]); === “[object Array]”; Object.prototype.toString.apply(function(){}); === “[object Function]”; Object.prototype.toString.apply(null); === “[object Null]” Object.prototype.toString.apply(undefined); === “[object Undefined]” // IE6/7/8 Object.prototype.toString.apply(null) 返回”[object Object]”🎜instanceof🎜🎜
objinstanceofObject
は、オブジェクト間の判定に適したプロトタイプチェーンを判定に使用します。左側にオブジェクト、右側に関数オブジェクトまたは関数コンストラクターが必要です。 🎜🎜次のとおりです: 🎜rrreee🎜Object.prototype.toString.apply()🎜rrreee🎜 Summary🎜🎜🎜🎜typeof🎜 基本的な型と関数の検出に適しており、null に遭遇すると失敗します。 🎜🎜🎜🎜[[Class]]🎜組み込みオブジェクトとプリミティブ型に適した、{}.toString を通じて取得します (IE678 などは [object Object] を返します)。 🎜🎜🎜🎜instanceof🎜 はカスタム オブジェクトに適していますが、ネイティブ オブジェクトの検出にも使用できます。異なる iframe とウィンドウの間で検出する場合は失敗します。 🎜🎜🎜以上がJavaScript タイプ間の比較を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。