美文网首页
3.5 操作符(3.5.1 一元操作符)

3.5 操作符(3.5.1 一元操作符)

作者: Wuthier | 来源:发表于2021-03-11 15:24 被阅读0次

    3.5 操作符

    ECMA-262 描述了一组可用于操作数据值的操作符,包括数学操作符(如加、减)、位操作符、关系操作符和相等操作符等。ECMAScript 中的操作符是独特的,因为它们可用于各种值,包括字符串、数值、布尔值,甚至还有对象。在应用给对象时,操作符通常会调用 valueOf() 和/或 toString() 方法来取得可以计算的值。

    3.5.1 一元操作符

    只操作一个值的操作符叫一元操作符(unary operator)。

    1. 递增/递减操作符

      • 前缀操作符:位于要操作的变量前头
      • 后缀操作符:位于要操作的变量后头

      这 4 个操作符可以作用于任何值,意思是不限于整数——字符串、布尔值、浮点值,甚至对象都可以。递增和递减操作符遵循如下规则:

      • 对于字符串,如果是有效的数值形式,则转换为数值再应用改变。变量类型从字符串变成数值。
      • 对于字符串,如果不是有效的数值形式,则将变量的值设置为 NaN 。变量类型从字符串变成
        数值。
      • 对于布尔值,如果是 false ,则转换为 0 再应用改变。变量类型从布尔值变成数值。
      • 对于布尔值,如果是 true ,则转换为 1 再应用改变。变量类型从布尔值变成数值。
      • 对于浮点值,加 1 或减 1。
      • 如果是对象,则调用其 valueOf() 方法取得可以操作的值。对得到的值应用上述规则。如果是 NaN ,则调用 toString() 并再次应用其他规则。变量类型从对象变成数值。
    2. 一元加和减

      • 一元加由一个加号( + )表示,放在变量前头;
      • 如果将一元加应用到非数值,则会执行与使用 Number() 转型函数一样的类型转换:布尔值 false 和 true 转换为 0 和 1,字符串根据特殊规则进行解析,对象会调用它们的 valueOf() 和/或 toString()方法以得到可以转换的值。
      • 一元减由一个减号( - )表示,放在变量前头,主要用于把数值变成负值,如把 1 转换为-1。
      • 对数值使用一元减会将其变成相应的负值。在应用到非数值时,一元减会遵循与一元加同样的规则,先对它们进行转换,然后再取负值。

    学习下一篇文章

    相关文章

      网友评论

          本文标题:3.5 操作符(3.5.1 一元操作符)

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