美文网首页web前端开发
js类型转换与四则运算

js类型转换与四则运算

作者: 天空之城_2692 | 来源:发表于2019-01-05 17:03 被阅读10次

    js中类型转换有三种情况:

    ①转换为布尔值

    ②转换为数字

    ③转换为字符串

    类型转换表格

    js类型转换与四则运算

    在条件判断时,除了undefined,null,false,NaN,'',0,-0其他所有值都转换为true,包括所有对象

    对象转原始类型

    对象在转换类型的时候,会调用内置的 [[ToPrimitive]] 函数,对于该函数来说,算法逻辑一般来说如下:

    如果已经是原始类型了,那就不需要转换了

    调用 x.valueOf(),如果转换为基础类型,就返回转换的值

    调用 x.toString(),如果转换为基础类型,就返回转换的值

    如果都没有返回原始类型,就会报错

    当然你也可以重写 Symbol.toPrimitive ,该方法在转原始类型时调用优先级最高。

    运算

    分两部分记忆:

    1、加法运算

    有字转字,无字转有字,无数转有数

    也就是说,运算中其中一方为字符串,那么就会把另一方也转换为字符串,如果一方不是字符串或者数字,那么会将它转换为数字或者字符串

    比如1+'3'='13'//有字转字

    true + true // 2  无数转有数

    4 + [1,2,3] // "41,2,3"

    'a' + + 'b' // -> "aNaN"有字转字+'b'转字为NaN

    2、非加法运算

    有数必为数

    那么对于除了加法的运算符来说,只要其中一方是数字,那么另一方就会被转为数字

    true转换为1,false转换为0

    相关文章

      网友评论

        本文标题:js类型转换与四则运算

        本文链接:https://www.haomeiwen.com/subject/cscdrqtx.html