JSFiddle - React, Tailwind, and code Playground

by sharon li

JavaScript

var b = false;
console.log( b.toString() );// false

var s = 'dd';
console.log(s.toString());//dd

var n = new Number(123);
console.log(n.toString());//123

var o = new Object();
console.log(o.toString());//[object Object]

var r = new RegExp('\\w');
console.log(r.toString());//\w

var a = new Array('1','2');
console.log(a.toString());//1,2

var e = new Error([1,2]);
console.log(e.toString());//Error: 1,2

/*object.toString(),调用的是Object.prototype.toString*/
/*Object.prototype.toString(obj) 调用时,对返回obj对象的内置[[Class]]ECMA6中访问的是[[NativeBrand]]*/
var toPString = Object.prototype.toString;
var toString = new Object().toString;
console.log('function equal:' + (toPString === toString));

console.log(toString.call(new Boolean(1))); //[object Boolean]
console.log(toString.call(new Number(123))); //[object Number]
console.log(toString.call(new String('123'))); //[object String]
console.log(toString.call(new Array(1))); //[object Array]
console.log(toString.call(new RegExp('\\w'))); //[object RegExp]
console.log(toString.call(new Error('12'))); //[object Error]
console.log(toString.call(new Function('alert(1)'))); //[object Function]
console.log(toString.call(new Date())); //[object Date]