toString()
1 .返回对象的字符串表示,就是将其他东西用字符串表示
2 .对象
image.png
//返回[Object Object]
3 .数组
image.png
//返回join(",")
4 .数
image.png
5 .字符串
image.png
6 .布尔值
image.png
7 .函数
image.png
8 .作用:用来判断类型,是最精准的
image.png
valueOf
1 .返回对象的字符串,数值或布尔值表示.返回对象自身,返回对象的原始值
1 .当遇到需要预期的原始值的对象时,js会自动调用它
2 .默认情况下,valueOf由Object后面的每个对象继承.每个内置的核心对象都会覆盖此方法以返回适当的值.如果对象没有原始值,则valueOf将返回都西昂本身
3 .Math和error没有这个方法
4 .创建自定义对象时,可以覆盖Object.prototype.valueOf来调用自定义方法,而不是默认的Object方法.如果自己定义了新的方法,下次每次需要调用这个方法的时候,就会使用自己定义的方法
2 .对象
image.png
3 .数组
image.png
4 .数
image.png
5 .字符串
image.png
6 .布尔值
image.png
7 .函数
image.png
8 .Date 返回毫秒形式的时间戳
9 .toString()当需要将对象显示为文本(如在 HTML 中)或需要将对象用作字符串时,JavaScript 在内部使用该方法
使用说明
1 .实操作符单独对对象进行转换的时候,都是先调用 valueOf,如果valueOf 返回的不是基本类型,会再调用 toString
2 .之前看的文章说的是,当需要变成字符串的时候,调用toString,当需要变成数字的时候,调用valueOf,再进行隐式转换的时候
3 .在使用对象参与运算的时候就会调用这个方法|(+-*/==><)时被调用(隐式转换)|
4 .看了文章,感觉说法都不一样,还是看官方文档吧,不过他们说的问题还是确实存在的那就是valueOf和toString哪个优先级高,使用的场景分别是什么?
5 .文档里面都明确说了,你是不会主动在js代码里面用这个函数的.
那就是要搞清除这个东西.js的隐式转换-自动调用的时候
1 .再一次决定需要学习ts .因为没有必要,ts 首先完全兼容 js,隐式类型转化的结果是可以预知的,当你把字符串与数字相加赋值给一个变量时,这个变量的类型也是预知的,并且如果你把结果赋值给一个非字符串型变量时,编译器就会报错,如此便可以保证隐式类型转化依旧能够保持类型安全性,也就没有必要设计显式转化了
2 .当使用操作符的时候,如果有对象,就会走这个逻辑
网友评论