JavaScript的类型转换

强制类型转换

1. Number()
Number()进行类型转换比parseInt()要更加严格,它是对参数一个一个进行转换的
流程如下:

  • 先调用变量的valueOf()方法转换为基本类型值,一般对象转换后仍然为对象;
  • 如果valueOf()转换后仍然为对象,则调用toString()方法转换为字符串,对于不能够转换为字符串的,则转换为类型的字符串表现形式;能够转换为字符串的则转换为字符串,如果转换结果为基本类型,再使用Number
  • 如果toString()转换后仍然为对象,则报错

2. String()

  • 对于基本类型的值,转换为他们的字符串形式
  • 对于对象类型的值,流程如下:
    • 显先使用toString()转换为字符串形式
    • 然后使用valueOf()转换 ,如果返回为原生类型的值,则使用String()进行转换
    • 如果valueOf()结果为对象,则报错

3. Boolean()
除以下五个值转换为false外,其他都转换为true;

null
undefined
+0或-0
'' // 空字符串
NaN

自动类型转换

自动转换的规则为:预期什么类型的值,就调用该类型的转换函数
1. 算数元素
在算数运算中,如果是加法运算,数字自动转换为字符串;其他运算符,字符串转换为数字;

参考

类型转换

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,698评论 0 13
  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 4,781评论 0 1
  • 强制转换 强制转换主要指使用Number、String和Boolean三个构造函数,手动将各种类型的值,转换成数字...
    灯火阑珊Zone阅读 3,318评论 0 3
  • 值类型转换将值从一种类型转换为另一种类型通常称为类型转换,这是显示的情况;隐式的情况称为强制类型转换。JavaSc...
    xpwei阅读 8,969评论 0 5
  • 【北方有佳人】 北方有佳人,绝世而独立。 一顾倾人城,再顾倾人国。 宁不知佳人倾城与倾国 佳人难再得。 ...
    杨兮美子阅读 3,655评论 0 0