码迷,mamicode.com
首页 > 其他好文 > 详细

toString和valueOf

时间:2020-02-08 11:38:30      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:===   存储   lan   roo   asc   boolean   类型转换   ring   转换   

toString

今天在看以前写的代码时,遇到某个老师的点评:

var obj = {};
var root = [1, 2, 3];
obj[root.join(',')] = value;

一看到这个,我就又犯难了。我对这javascript的类型转换实在记不住!我知道obj[key],中的key如果不是字符串,会调用key.toString()转换为字符串。但是不知道[1, 2, 3].toString() === “1,2,3”。虽然这些东西都是定死的,记不住也没关系吧,只要记得在类型值判断时尽量用严格判断就好。下面记几个常见的toString:

var obj = {};
obj.toString() === '[object Object]';
[].toString() === '';
[1, 2, 3].toString() === &# 大专栏  toString和valueOf39;1,2,3';
['a', 2, function(){}].toString() === 'a,2,function(){}'; // 不不,这个不常见。

valueOf

这个东西返回一个原始值,而且对各个JS固有对象,定义还不同。

对象 返回值
Array 数组本身。
Boolean 自身Boolean值。
Date 存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数 UTC
Function 函数本身。
Number 数字值
Object 对象本身。这是默认情况(没有重写valueOf)
String 字符串值。

toString和valueOf

标签:===   存储   lan   roo   asc   boolean   类型转换   ring   转换   

原文地址:https://www.cnblogs.com/lijianming180/p/12275749.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!