对象的 valueOf 方法

Object.prototype.valueOf()

该方法返回指定对象的原始值,若对象没有原始值,则将返回对象本身。通常由 JavaScript 内部调用,而不是在代码中显式调用。当遇到需要使用预期的原始值的对象时(比如对象的强制类型转换),JavaScript 会自动调用它。

不同类型对象的 valueOf() 方法的返回值

对象 返回值
Number 数字的基本类型值
Boolean 基本类型布尔值
String 基本类型字符串
RegExp 正则表达式本身
Object 对象本身
Function 函数本身
Array 数组本身
Date 是从 1970 年 1 月 1 日午夜开始计的毫秒数 UTC

Math 和 Error 对象没有 valueOf 方法。

对象的 Symbol.toPrimitive 属性

对象的 Symbol.toPrimitive 属性指向一个方法。基本类型 string、number、boolean 的封装对象调用这个方法时会返回该对象对应的原始类型值。
该方法作用同 valueOf() 一样,但是优先级要高于 valueOf()。
Symbol.toPrimitive 被调用时,会接受一个字符串参数,表示当前运算的模式,一共有三种模式。

  • number:该场合需要转成数值
  • string:该场合需要转成字符串
  • default:该场合可以转成数值,也可以转成字符串

对象的强制类型换

对象在进行强制类型转换为基本类型的值时,会首先被转换为相应的基本类型的值(例如String\Number\Boolean对象),以ToNumber为例,如果返回的是非数字的基本类型值,则会再按照基本类型之间的转换规则进行强制转换。

为了将值转换为相应的基本类型值,抽象操作 ToPrimitive 会首先检查该值是否有 value0f() 方法。如果有并且返回基本类型值,就使用该值进行强制类型转换。如果没有就使用 toString() 的返回值 (如果存在) 来进行强制类型转换。
如果 value0f() 和 toString() 均不返回基本类型值,会产生 TypeError 错误。

对象的 valueOf 方法相关推荐

  1. 学习JS基本数据类型与对象的valueOf方法

    https://blog.csdn.net/licheng11403080324/article/details/60128090 https://yq.aliyun.com/articles/399 ...

  2. 开课吧Java课堂:如何利用valueOf( )方法实现数据转换

    valueOf( )方法将数据的内部格式转换为可读的形式.它是一种静态方法,对于所有Java内置的类型,在字符串(String)内被重载,以便每一种类型都能被转换成字符串. valueOf( )方法还 ...

  3. valueOf()方法详解

    valueOf方法返回指定对象的值 方法格式 object.valueOf() 返回值 返回该对象的原始值 方法描述 JavaScript 中的 valueOf() 方法用于返回指定对象的原始值,若对 ...

  4. JavaScript中的valueOf方法详解

    Object.prototype.valueOf() valueOf() 方法返回指定对象的原始值. 语法 object.valueOf() 返回值 返回值为该对象的原始值. 描述 JavaScrip ...

  5. JS 中 valueOf() 方法的详解

    JS 中 valueOf() 方法的详解 JavaScript 中的 valueOf() 方法用于返回指定对象的原始值,若对象没有原始值,则将返回对象本身.通常由JavaScript内部调用,而不是在 ...

  6. Integer对象范围(-128-127)之间(Integer. valueOf()方法)

    1.Integer. valueOf()方法的作用 Integer. valueOf()可以将基本类型int转换为包装类型Integer,或者将String转换成Integer,String如果为Nu ...

  7. 重写enum的valueof方法等

    2019独角兽企业重金招聘Python工程师标准>>> enum 对象的常用方法介绍 int compareTo(E o)            比较此枚举与指定对象的顺序. Cla ...

  8. 一眼毁三观:JS中令人发指的valueOf方法

    剧透:文章末尾有两个小问题待解答,路过的兄弟请百忙之中抽空看下--- 彭老湿近期月报里提到了valueOf方法,兴致来了翻了下ECMA5里关于valueOf方法的介绍,如下: 15.2.4.4 Obj ...

  9. 关于Integer类中parseInt()和valueOf()方法的区别以及int和String类性的转换.以及String类valueOf()方法...

    Integer类中的. 关于parseInt()方法的API文档.  返回的是int类型的 关于valueOf()方法的API文档 返回的是Integer类型的. 关于intValue()方法的API ...

最新文章

  1. Data - 深入浅出学统计 - 上篇
  2. vscode 这是一个好同志
  3. JavaScript的值传递和引用传递
  4. 【SQL】sql版Split函数。用于拆分字符串为单列表格
  5. 做大公司的螺丝钉 vs 当小公司的多面手
  6. devops 分支管理策略_DevOps招聘策略以吸引顶尖人才
  7. trycatch处理流IO流中的异常
  8. 全局角度出发讨论敏捷
  9. XML 处理利器 : XStream
  10. 正态分布里的西格玛_七大数据陷阱之油腻的统计学:正态分布来了
  11. python whl文件下载网址
  12. win7备份工具_调解 win7系统一键还原精灵使用的具体方法 -win7系统使用教程
  13. 实用的网页模板(一)
  14. 远程办公与人心、机制、工具
  15. 中学计算机课体育课被占用,那些年被占用的体育课
  16. 一个双向转换火星文的玩具
  17. Kubernetes:应用部署、应用了解、应用公布、应用伸缩,-image=ikubernetes/myapp:v1
  18. 可视化均衡插件-Acon Digital Equalize 2 v2.1.1 WiN-MAC
  19. AI Studio图形化任务说明
  20. Shell脚本实现MySQL主从自动化配置

热门文章

  1. 校园wifi上网,不可不知道之wifi共享精灵
  2. 在IE里屏蔽三国杀游戏网站
  3. 微信企业号开发:微信考勤百度地图定位二
  4. 吐血整理 | 肝翻 Linux 中断所有知识点
  5. R语言常用快捷键、excel操作、绘制、统计
  6. strlen函数 的介绍
  7. 阿里云盘最新邀请码,某度颤抖吧(持续更新中~)
  8. Ansible一键离线安装部署
  9. CCF 报数 201912-1 100分 15ms
  10. PHP过滤器之审查过滤器(Sanitize filters)