javascriptステルスタイプの変換ステップ

787 ワード

ここでいう暗黙的なタイプの変換は、==による変換です.
  • NaNがあれば、false
  • に戻ります.
  • ブールがあるかどうか見てください.ブールがあれば、ブールを数字
  • に変換します.
  • 続いて文字列があるかどうかを見ます.相手は対象で、対象はtoStringを使って変換します.相手は数字で、文字列は数字を回転します.相手は文字列で、直接比較します.その他はfalse
  • を返します.
  • 数字であれば、相手が対象であり、対象をvalueOfと比較し、その他はすべてfalse
  • に戻る.
  • null、undefinedはタイプ変換を行いませんが、彼らは
  • を等しいです.
    この順番は必ず丸暗記してください.これは面接の時によく聞きました.
    次はいくつかの問題です.自分でやります.
    
    
    0 == undefined
    
    1 == true
    
    
    2 == {valueOf: function(){return 2}}
    
    
    NaN == NaN
    
     8 == undefined
    
    1 == undefined
    
     null == {toString: function(){return 2}}
     
     0 == null
    
     null == 1
    
    
    
     { toString:function(){ return 1 } , valueOf:function(){ return [] }} == 1