bollanとBooleanの違い

1709 ワード

まず、bollanの頭文字は小文字で、Booleanの頭文字は大文字ですが、なぜbollanとBooleanが同時に存在する必要がありますか?彼らはそれぞれ何を代表していますか?
まず次の例を見ます.
var a = false;
console.log(a instanceof Boolean);//false
console.log(typeof a);//boolean
console.log(a instanceof boolean);//boolean is not defined
私たちはtypeofとinstance ofを使って情報を印刷していますので、typeofとinstance ofの違いを明確にする必要があります.typeofは変数の種類を判断します.
JavaScriptでは、変数のタイプを試してtypeof演算子を使うと判断され、typeof演算子を使う時に参照タイプの記憶値を採用すると問題が発生します.参照の種類に関係なく、オブジェクトは「object」に戻ります.ECMAScriptは他のJava演算子instance ofを導入してこの問題を解決します.
var a = new Boolean(false);
var b = new String("hello");
console.log(typeof a);//object
console.log(typeof b);//object
console.log(a instanceof Boolean);//true
console.log(a instanceof String);//false
instance ofは参照の種類の具体的なタイプを判断するために用いられます.したがって、判断の対象はまず「引用の種類」です.したがって、以下の結果はfalseです.
console.log(a instanceof Boolean);//false
このように書いてはいけません.
console.log(a instanceof boolean);//boolean is not defined
私たちは冒頭の問題に戻ります.なぜbolearnとBooleanが同時に存在する必要がありますか?
typeofを詳しく見てください.「JavaScript高級プログラム設計」では、
変数または値に対してtypeof演算子を呼び出すと、次のいずれかの値に戻ります.「bollan」は、変数がBoolean型の場合です.「number」は、変数がNumber型の場合です.「string」は、変数がString型の場合です.「Object」は、変数が参照タイプまたはNullタイプの場合です.
つまり、bootleanは文字列であり、typeofとして値を返す文字列であり、タイプではない.
var a = false;
console.log(typeof a);//boolean
上記の意味は、aはBooleanのオリジナルタイプです.
var a = new Boolean(false);
このように書くと、aはBoolearn引用タイプです.
var a = false;
a.name = 'hello';
このように書くと、臨時の「包装タイプ」が作成されます.
 
〹拡張知識の紹介
JavaScript instance of演算子は深く分析して、var book=falseとvar book=new Boolean(false)の違いJavaScriptはすべて対象ではありません.