一、运算符优先级

从高到低

运算符 说明
() 圆括号    
. [] new(带参数列表) 字段访问、数组索引、new(带参数列表)
() new(无参数列表) 函数调用,无参数列表
++(后置递增) --(后置递减) 自增、自减
++(前置递增) --(前置递减) - + ~ ! delete typeof void 一无运算符、返回数据类型、对象创建、未定义的值
* / % 相乘、相除、求余
+ - + 相加、相减、字符串相加
<< >> >>> 位移
< <= > >= instanceof 小于、小于或等于、大于、大于或等于、是否为特定类的实例
== != === !== 相等、不相等、全等、不全等
& 按位“与”
^ 按位“异或”
按位“或”
&& 逻辑“与”
|| 逻辑“或"
?: 条件运算符
= OP= 赋值、赋值去处(+=、-=)
yield、yield* 迭代标记运算符
... 展开运算符
, 多个计算,逗号运算符

二、类型检测与转换

以下都是规范中的内部方法,不可直接调用

方法 说明
ToPrimitive 两个参数:值、期望类型。转换为指定的类型
ToBoolean 转换为boolean值,如果参数是undefined、Null、0、NaN、或者String长度为零,结果为false,object或其他为true
ToNumber 转换为数值类型
ToInteger 转换为整型,应该是16类整型
ToInt32 32位有符号整型
ToUint32 32位无符号整型
ToUint16 16位无符号整型
ToString 转换为字符串类型,如果Number类型,转换特殊处理。浮点数精度
ToObject 转换为对象类型
CheckObjectCoercible 检测参数是否可以通过ToObject转换
IsCaller 检测参数是否为一个可调用对象,Object有call方法实现的才行,其他(Number\Boolean\String\Null\Undefined)等不行
SameValue 两个对象是否相等的算法

提供的方法,可以直接调用

方法 说明
parseInt 转换为整型,两个参数:一个数为可转换为数值的内容,第二个参数表示进制:2, 8, 10, 16,默认10进制。但如果第一个参数的值以0x或0X开头则认为是16进行
parseFloat 转换为一个浮点型数值
IsNaN 判断值是否为NaN,是NaN则为false
IsFinit 判断值是为NaN、+Max、+Min,是NaN、+Max、+Min则为false

P:

2017-05-02

修正运算符优先级列表

ECMAScript5.1的运算符、类型转换总结的更多相关文章

  1. c/c++ 重载运算符 类型转换运算符

    重载运算符 类型转换运算符 问题:能不能把一个类型A的对象a,转换成另一个类型B的对象b呢?? 是可以的.这就必须要用类型A的类型转换运算符(conversion operator) 下面的opera ...

  2. java数据类型运算符类型转换

    Java基本数据类型 基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型.它们是我们编程中使用最频繁的类型,因此面试题中也总少不了它们的身影,在这篇文章中我们将从面试中常考的几个方面来回顾一下 ...

  3. [C++ Primer] : 第14章: 重载运算符与类型转换

    基本概念 重载运算符是具有特殊名字的函数: 它们的名字由关键字operator和其后要定义的运算符号共同组成. 重载运算符函数的参数数量与该运算符作用的运算对象数量一样多. 对于二元运算符来说, 左侧 ...

  4. 【C++】C++中重载运算符和类型转换

    输入输出运算符 输入输出运算符 输入输出运算符 算术和关系运算符 相等运算符 关系运算符 赋值运算符 复合赋值运算符 下标运算符 递增和递减运算符 成员访问运算符 函数调用运算符 lambda是函数对 ...

  5. C++ Primer 5th 第14章 重载运算与类型转换

    当运算符作用域类类型的对象时,可以通过运算符重载来重新定义该运算符的含义.重载运算符的意义在于我们和用户能够更简洁的书写和更方便的使用代码. 基本概念 重载的运算符是具有特殊名字的函数:函数名由关键词 ...

  6. C语言复习————基本数据类型、运算符和表达式

    数据类型/运算符/表达式 主要分两部分介绍,第一部分介绍常用的数据类型,例如:常量和变量/整型/实型/字符型:第二部分介绍算数运算符和算数表达式以及赋值运算符和逗号运算符. 一. 常用的数据类型 1. ...

  7. C语言运算符的优先级与结合性

    结合性:左结合是从左到右依次执行,右结合是从右到左依次执行. 优先级 运算符 名称或作用 运算类型 结合方向 特点 1 () [] -> . 小括号运算符 下标运算符 指向结构成员运算符 结构成 ...

  8. 【c++ Prime 学习笔记】第14章 重载运算与类型转换

    14.1 基本概念 重载的运算符是特殊的函数:名字由关键字operator后接要定义的算符共同组成,也有返回类型.参数列表.函数体. 重载运算符函数的参数量与该算符作用的运算对象数量一样多 除重载调用 ...

  9. Python魔术方法-Magic Method

    介绍 在Python中,所有以"__"双下划线包起来的方法,都统称为"Magic Method",例如类的初始化方法 __init__ ,Python中所有的魔 ...

随机推荐

  1. 利用Google趋势来预测比特币价格

    预测市场是件极其困难和不可能的事情,特别是预测市场的短期行为.长期预期相对而言简单很多,因为很多事情把时间拉长,都可以预测,比如我预测烧汽油的车最终都会消失,把时间拉长,都是没问题的.但是这种预测没法 ...

  2. Use try-with-resources

    public void doQueries() throws MyException{ // First try-with-resources. try ( Connection con = Driv ...

  3. SetParameter错误:java.time.Instant cannot be resolved

    SetParameter Hibernate使用SetParameter错误 List<Customer> list = session.createQuery(hql).setParam ...

  4. C++日志打印

    C++日志打印: %d              十进制有符号整数 %u              十进制无符号整数 %f              浮点数 %s              字符串 % ...

  5. Mac安装sqlite3

    1,下载最新版本的 Mac OS X 会预安装 SQLite,但是如果没有可用的安装,只需按照如下步骤进行: 去安装最新的3.8.6版本,和linux的sqlite3安装版本是同一个. 软件地址为:h ...

  6. LeetCode第五十八题

    题目: Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return t ...

  7. mysql数据库备份_可执行文件

    这段时间接手运维的工作,刚开始就尝到了数据丢失的痛!老板抱怨,同事抱怨!都说先删库再跑路,我还不想跑! 下面是我的备份记录:(分4步) 1.编写备份执行文件sqlAutoBak.sh #!/bin/s ...

  8. ES6 常用语法

    1.let 定义变量 1.与var 类似 用于声明一个变量 let userName='kobe' 2.特点 1.在块作用域内有效 2.不会吃重复定义变量 3.应用 1.循环遍历加监听 2.使用let ...

  9. js高级3

    1.解决函数内this的指向 可以在函数外提前声明变量_this/that=this 通过apply和call来修改函数内的this指向 (1)二者区别 用法是一样的,就是参数形式不一样        ...

  10. OJ002

    register:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率.注意是尽可能,不是绝对. 因为,如果定义了很多register变量,可能会超过CPU的寄 ...