javascriptの中の基本的なデータのタイプとタイプの検査のいくつかの方法

2230 ワード

1.JSには6つの基本的なデータタイプがあり、JSのすべての操作はこの5つの基本的なタイプに基づいています.(1)Object
オブジェクトの種類
(2)number
数の種類
(3)String
文字列の種類
(4)null
(5)undefined
(6)book an
ブールタイプ:trueまたはfalse
I)JSでのデータタイプ変換(厳格でないモードで)
「12」==12//trueは、非厳密なモードで文字列を数字に変換できます.
true==1//trueブール値は等号の両側で0または1に変換しようとします.
「1」==true//true
null==undefined/true
new Object()=new Object()//true
NaN==NaN//false
new
II)JSにおけるデータタイプ変換(非厳格モードで)
上記の中の等号は成立しません.
注:特にベースタイプのstringやnumberであれば、必要に応じて、stringやnumberを対象のobjectタイプに変換することができます.例えば、var x="hello";alert(a.length)//5
データの種類の中の暗黙的な転化は補充します:“32”+32/転化はstringになります.
                     "32"-32 //   number
  • JSにおけるタイプ検出方法
  • (1)タイプ検出は、typeofで行う
    まずいくつかの例を見ます.
    typeof 100->number
    typeof「hello」string
    typeof true->bootlean
    typeof Number——>function
    typeof new Object()->Object
    typeof Object->function
    typeof null——–Object
    typeof undefined–undefined
    まとめ:右側が基本タイプなら、typeofは関数名、number、stringなどの基本的なタイプを試します.関数名なら、functionに戻ります.ここでObject、Number、Steringなどは関数名として見られます.右側がベースのオブジェクトなら、Objectに戻ります.
    注:typeof nullを発見しましたが、結果はobjectに戻りました.これは昔のBUGです.今までずっと使っています.
    試用範囲:typeofでタイプを判断すれば、基本タイプを判定するか、関数かどうかを判断します.
    2.instance of
    同様に例を挙げて説明します.
    [1,2]instance of Aray——>true
    “1,2”instance of Aray——>>false
    まとめ:instance ofはプロトタイプチェーンに沿って検索します.左のオブジェクトのプロトタイプチェーンに右のオブジェクトがあれば、trueに戻ります.拡張を判断する対象のタイプ(numberではなく、stringなど)だけに注意してください.
    例えば:1 instance of Number->false
     "hell"  instanceof String  ------>string
    
    追加:instance ofの右側は関数、またはコンストラクタでなければなりません.
    左のオブジェクトのプロトタイプチェーンに右の関数のプロトタイプがあるかどうかを検出します.
    3.Object.prototype.toString
    オブジェクトの原型上のStating方法によって、タイプを判断することもできます.例を挙げます.
    Object.prototype.toString.apply([])-[object Object]
    Object.prototype.toString.apply(function)->[object Funct]
    Object.prototype.toString.apply->[object Funct]
    Object.prototype.toString.apply->[object Funct]
    Object.prototype.toString.apply(null)——–[object Null]
    Object.prototype.toString.apply–[object Udefined]
    使用タイプ:オリジナルオブジェクトとベースタイプ
    他にも(4)コントラクションがあります.
    (5)duck typeなど