JavaScript対象のまとめ


jsには7種類のデータタイプがあります.undefined、null、Boolean、Number、String、オブジェクト、Symbol(es 6).最近は、jsの対象についてより明確な理解ができました.まとめてみます.
1.対象はすべて自分のプライベート属性があります.
//json        
var json =new Object();
json.a = 20;
console.log(json.a); //20

//  (    )      
var json2;
json2.a=10;
console.log(json2.a); //undefined
2.newであれば対象です.
なぜnewは全部対象ですか?numberを定義しています.stringは3つの方法があります.Numberを例にします.
//  Number     
var a = 1;
var a = Number(1)
var a = new Number(1);
二つの方式の違いをテストします.普通の定義number方式:
var a = 1;
a.b = 3;
console.log(typeof a); //     number
console.log(a.b); //undefined
var a = Number(1);
a.b = 3;
console.log(typeof a); //     number
console.log(a.b); //undefined
new方式でnumberを作成する時:
var a = new Number(1);
console.log(typeof a); //     object

//     a       
a.b = 3;
console.log(a.b);//  3
3.異なるオブジェクトは必ず同じではない
//       true
var a = 'abc';
var b = 'abc';
console.log(a == b); //true
//false
var a = [10];
var b = [10];
console.log(a == b);//false

//new       ,  false
var a = new String('abc');
var b = new String('abc');
console.log(a == b); //false
4.オブジェクトには引用機構があります.
オブジェクトには参照機構があります.
var a = {};
b =a;
b.c=10;
console.log(a); //   {c:10}
/*      ,   a a        
 *  b = a   b a      
 *b.c =10               c:10
 *       a {c:10}            
*/
引用したくないなら、再割り当てができます.
私達もtypeofによって対象かどうか判断することができません.例えばnullとundefinedは、typeofが出てくるタイプはobjectタイプですが、対象が持っている属性がなく、対象外です.
以上は私の対象に対する理解が浅いので、間違いがあれば訂正してください.