console.log(typeof null)
//可以看到,instanceof只能正确判断引用数据类型,而不能判断基本数据类型。
//instanceof 运算符可以用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性
//基本数据类型
console.log(2 instanceof Number)
//引用数据类型
console.log([] instanceof Array)
//constructor 1.判断数据类型 2.访问构造函数
console.log((2).constructor === Number)
//通过toString将数据类型字符串化
/*所以采用obj.toString()不能得到其对象类型,只能将obj转换为字符串类型;
因此,在想要得到对象的具体类型时,应该调用Object原型上的toString方法 */
var a = Object.prototype.toString;
console.log(a.call(true))
//比较undefind null
console.log(undefined == null)
console.log(undefined === null)
//
console.log(typeof null)
/*js 包装类型*/
//隐式转换
const b = "abc";
b.length; // 3
console.log(b.toUpperCase()) // "ABC"
//显式转换
var c = "abc"
console.log(typeof Object(c) )// String {"abc"}
var a = new Boolean( false );
// if (!a) {
// console.log( "Oops" ); // never runs
// }
console.log(!a.toString)
console