<script>
var sym1 = Symbol();
var sym2 = Symbol('foo');
var sym3 = Symbol('foo');
console.log(typeof sym1)
console.log(sym1)
console.log(sym2)
console.log(sym3)
console.log(typeof '');
console.log(typeof 123);
console.log(typeof true);
console.log(typeof undefined);
console.log(typeof null);
console.log(typeof []);
console.log(typeof {});
console.log(typeof new Function());
console.log(typeof new Date());
console.log(typeof new RegExp());
console.log(typeof null);
var obj = {name:'lulu',age:'123'}
var arr = ['123','456']
var reg = /upupup/
console.log(obj instanceof Array)
console.log(arr instanceof Array)
console.log(obj instanceof Object)
console.log(reg instanceof RegExp)
console.log(Object.prototype.toString(obj))
Object.prototype.toString.call('') ;
Object.prototype.toString.call(1) ;
Object.prototype.toString.call(true) ;
Object.prototype.toString.call(Symbol());
Object.prototype.toString.call(undefined) ;
Object.prototype.toString.call(null) ;
Object.prototype.toString.call(new Function()) ;
Object.prototype.toString.call(new Date()) ;
Object.prototype.toString.call([]) ;
Object.prototype.toString.call(new RegExp()) ;
Object.prototype.toString.call(new Error()) ;
Object.prototype.toString.call(document) ;
Object.prototype.toString.call(window) ;
var str1 = '12342asda'
console.dir(str1)
var obj1 = new Object();
console.dir(obj1)
console.dir(new Date());
console.log(str1.constructor == String);
console.log(new Number(1).constructor == Number);
console.log(true.constructor == Boolean);
console.log(new Function().constructor == Function);
console.log(new Date().constructor == Date);
console.log(new Error().constructor == Error);
console.log(new Array().constructor == Array);
console.log(document.constructor == HTMLDocument);
console.log(window.constructor == Window);
</script>
