资讯专栏INFORMATION COLUMN

类型转化

joy968 / 1296人阅读

摘要:对象类型转化先调用对象自身的方法,如果该方法返回原始类型的值数值字符串和布尔值,则直接对该值使用方法,不再进行后续步骤。

类型转化

javascript

类型转化
最新的 ECMAscript 标准定义了7种数据类型
原始类型:Boolean、Null、Undefined、Number、String、Symbol「ES6 新增」 对象:Object
数据类型

显式类型转换 「手动执行」

Number 函数

1. 原始类型转换
    - 数值:转换后还是原来的值。
    - 字符串:如果可以被解析为数值,则转换为相应的数值,负责得到 NaN。空字符串转为 0。
    - 布尔值:ture 转为 1,false 转为 0。
    - undefined:转为NaN。
    - null:转成 0。
2. 对象类型转化
    - 先调用对象自身的 valueOf  方法,如果该方法返回原始类型的值「数值、字符串和布尔值」,则直接对该值使用 Number 方法,不再进行后续步骤。
    - 如果 valueOf 方法返回符合类型的值,再调用对象自身的 toString 方法,如果 toString 方法返回原始类型的值,则对该值使用 Number 方法,不再进行后续步骤。如果 toString 方法返回复合类型的值,则报错。

String 函数

1. 原始类型转换
    - 数值:转为相应的字符串。
    - 字符串:转换后还是原来的值。
    - 布尔值:ture 转为「ture」,false 转为「false」。
    - undefined:转为「undefined」。
    - null:转为「null」。
2. 对象类型转化    

Boolean 函数

1. 原始类型转换
    - undefined:
    - null:
    - -0:
    - +0:
    - NaN:
    - ""空字符串
    - 以上全部转化为 false,其他都转换为 ture。
2. 对象类型转化    
    - 先调用对象自身的 toString  方法,如果该方法返回原始类型的值,则直接对该值使用 String 方法,不再进行后续步骤。
    - 如果 toString 方法返回符合类型的值,再调用对象自身的 valueOf 方法,如果 valueOf 方法返回原始类型的值,则对该值使用 String 方法,不再进行后续步骤。如果 valueOf 方法返回复合类型的值,则报错。

隐式类型转换 「程序内部执行」

四则运算

判断语句

Native 调用「alert、console.log」

typeof

表达式 返回值
typeof undefined "undefined"
typeof null "object"
typeof true "boolean"
typeof 123 "number"
typeof "abc" "string"
typeof function() {} "function"
typeof {} "object"
typeof [] "object"
typeof unknownVariable "undefined"

实例:





    
    
    类型转换
    
    



    

    

    


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/93169.html

相关文章

  • js骚操作骂人不带脏

    摘要:让我们快速的复习一下在中一共有两种类型的值原始值和对象值原始值有布尔值数字还有字符串其他的所有值都是对象类型的值包括数组和函数类型转化先按运算符来分一下类减号,乘号,肯定是进行数学运算,所以操作数需转化为类型。 前言 很多小伙伴们觉得javaScript很简单,下面的这行 javaScript代码可能会让你怀疑人生。 (!(~+[])+{})[--[~+][+[]]*[~+[]] +...

    Sunxb 评论0 收藏0
  • JavaScript核心概念(1):类型转换

    摘要:核心内置类,会尝试先于可以理解为对象优先转换成数字例外的是,利用的是转换。非核心的对象,通过自己的实现中定义的方法转换成原始值。 本文首发于个人博客 showImg(https://segmentfault.com/img/remote/1460000015954811?w=639&h=724); 看到这个是不是有一种想打人的感觉,垃圾 JavaScript,这特么都什么鬼,相信很多...

    tracymac7 评论0 收藏0
  • js数据类型转化

    数据类型转化表 首先上数据类型转化表,便于遇到问题直接查看 值 字符串 数字 布尔值 对象 undefined null undefined null NaN false false throws TypeError throws TypeError true false true false 1 0 new Boolean(true) new Boolean(f...

    dmlllll 评论0 收藏0
  • JavaScript 中 == 和 === 的区别

    摘要:例如两个引用类型判断两者之间的引用路径。布尔值与数字比较时,布尔值转化成数字值,二者再进行比较。根据运算符的优先级,先执行,直接转化为布尔值空字符串,,,都是,其余都是再取反,故转化为。最后,故结果为。 两个操作数之间的 == 与 === 1、 两个不同的基本数据类型: 如果两个基本数据类型(Number、String、Boolean、Null、Undefined)不同,会将它...

    Chao 评论0 收藏0
  • js显示强制类型转换

    摘要:同样,也可以将数字转换为其他进制数,如转换结果转换结果转换结果对象类型中对象到字符串的转换经过了如下步骤如果对象具有方法,则调用这个方法。如果它返回一个基本类型值,将这个值转换为字符串,并返回这个字符串。 ToString 其他类型值转化为字符串类型的值通常使用String()或者toString()方法 基本类型 基本类型的字符串转化规则为:null转化为null,undefined...

    yeooo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<