Typeof-データタイプ検出演算子

1158 ワード

多くの人がtypeofを演算子と呼んでいますが、私は「データタイプ検出-演算子」と呼ぶのが好きです.その役割は、データの種類を検出し、このタイプの対応する文字列を返すことです.
その文法:typeofデータ /typeof(データ)  2つの効果は同じです.
typeofには戻り値がありますが、戻りの結果はシステムで定義されているタイプとは違います.
システムで定義されたデータタイプのtypeofが返すデータタイプ
String ストリングス
Number number
boolean bolean
Udefined             undefined
Null               object
Object  object
例を示してください
var s1='song';
console.log(typeof s1); // string
            
var s2 = 21;
console.log(typeof s2); // number
            
var s3 = false;
console.log(typeof s3); //boolean
            
var s4 = undefined;
console.log(typeof s4); //undefined
            
var s5 = null;
console.log(typeof s5); //object
            
var s6 = {};
console.log(typeof s6);  //object
            
var s7 = function(){alert(1)};
console.log(s7); //function
nullのtypeofの結果はobjectで、関数のtypeofはfunctionですが、JSでは関数にタイプを定義していません.
まとめ:違いは1)一つは頭文字の大きさ、一つは全部小文字です.   2)Nullが返した値はnullではなくObjectです.
Nullはどうしてobjectに戻るのですか?
いくつかの資料はJSが残したバグと解釈しています.歴史的な問題です.
Pritce:
1、typeofの文法はどう使いますか?
2、typeofで検出された戻り値とシステムで定義されているタイプはどのような違いがありますか?
3、NullはどうしてObjectに戻りますか?