有意思的toString()

我们先来执行下下面的代码

([1,2]).toString() //"1,2"
([[1],[2]]).toString() //"1,2"
(true).toString() //"true"
(new Error("this is Error")).toString() //"Error: this is Error"
(new Date(2018, 3, 29, 16, 44, 00, 00)).toString(); //"Sun Apr 29 2018 16:44:00 GMT+0800 (中国标准时间)"
Math.random().toString(10) //"0.9922469264518594"
Math.random().toString(36) //"0.hiy0tac1zqaf29uxk0il766r"
(11).toString(2) //"1011"
(11).toString(8) //"13"
(11).toString(16) //"b"
({}).toString() //"[object Object]"

是不是,感觉有些乱,现在我来一一说明

类型 说明
Array 取出所有,元素并用逗号连接起来
Boolean 返回比尔值的字符串
Date 返回日期字符串
Error 返回错误信息字符串
Math.random() 返回对应随机数的对应进制字符串值
number 默认返回10进制,填写后转换未任意进制的数,并返回其字符串(2-36)
object 返回[object Object]
toString.call(undefined);     // '[object Undefined]'

toString.call(null);          // '[object Null]'

toString.call(3);             // '[object Number]'

toString.call(true);          // '[object Boolean]'

toString.call('');            // '[object String]'

toString.call(Symbol());      // '[object Symbol]'

toString.call({});            // '[object Object]'

toString.call([]);            // '[object Array]'

toString.call(function(){});  // '[object Function]'

toString.call(/\w+/);         // '[object RegExp]'

toString.call(new Date);      // '[object Date]'

toString.call(new Error);     // '[object Error]'

toString.call(new Map);       // '[object Map]'

toString.call(new Set);       // '[object Set]'

猜你喜欢

转载自blog.csdn.net/qq_23064501/article/details/79745667