1.基本数据类型(原始类型):
2.引用数据类型也称合成类型的值(多个原始类型的值的合成):object
typeof 判断数据类型
console.log(typeof 1);// number
console.log(typeof 'str');//string
console.log(typeof true);// boolean
let sym1 =Symbol();
console.log(sym1)//symbol
console.log(typeof undefined);//undefined
console.log(typeof function(){});//function
console.log(typeof {});//object
console.log(typeof []);//object
console.log(null);//object
instanceof
console.log(1 instanceof number);//false
console.log('str' instanceof string);//false
console.log(true instanceof boolean);//false
console.log(sym1 instanceof Symbol);//false
console.log(function(){} instanceof Function);//true
console.log([] instanceof Array);//true
console.log({} instanceof Object);//true
console.log([] instanceof Object);//true
console.log(function(){} instanceof Object);//true
constructor
console.log((1).constructor === Number); // true
console.log(('str').constructor === String); // true
console.log((true).constructor === Boolean); // true
console.log(([]).constructor === Array); // true
console.log((function() {}).constructor === Function); // true
console.log(({}).constructor === Object); // true
object.prototype.toString().call()
Object.prototype.toString.call(1) ; // [object Number]
Object.prototype.toString.call('abc') ; // [object String]
Object.prototype.toString.call(true) ; // [object Boolean]
Object.prototype.toString.call(Symbol()); //[object Symbol]
Object.prototype.toString.call(undefined) ; // [object Undefined]
Object.prototype.toString.call(null) ; // [object Null]
Object.prototype.toString.call(function(){}) ; // [object Function]
Object.prototype.toString.call([]) ; // [object Array]
Object.prototype.toString.call({}) ; // [object Object]
Object.prototype.toString.call([]).slice(8,-1);//Array