ECMAScript5.1的运算符、类型转换总结
一、运算符优先级
从高到低
运算符 | 说明 |
() | 圆括号 |
. [] 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
修正运算符优先级列表
转载于:https://www.cnblogs.com/cqhaibin/p/6702190.html
ECMAScript5.1的运算符、类型转换总结相关推荐
- c语言运算符类型转换,C语言中强制类型转换运算符的独特作用
C语言中强制类型转换运算符的独特作用 在C语言中有一个强制类型转换运算符,它为C语言中的数据类型转换带来 (本文共2页) 阅读全文>> 在进行C++类的设计时,我们常常需要为类对象设计运算 ...
- C++ 运算符重载(二) | 类型转换运算符,二义性问题
文章目录 类型转换运算符 概念 避免过度使用类型转换函数 解决上述问题的方法 转换为 bool 显式的类型转换运算符 类型转换二义性 重载函数与类型转换结合导致的二义性 重载运算符与类型转换结合导致的 ...
- 重载、类型转换与运算符
前面我们看到由一个实参调用的非显式构造函数定义了一种隐式的类型转换,这种构造函数将实参类型的对象转换成类类型.我们同样能定义对于类类型的类型转换,通常定义类型转换运算符可以做到这一点.转换构造函数和类 ...
- C++ 运算符重载与类型转换
1. 当一个重载的运算符是成员函数时,this绑定到左侧运算对象.成员运算符函数的(显式)参数数量比运算对象的数量少一个. 通常情况下,不应该重载逗号.取地址.逻辑与和逻辑或运算符. 关于重载运算符的 ...
- 小心VB.NET中的除运算符/和/
小心VB.NET中的除运算符"/"和"/" VB.NET中除运算符有两种,普通除"/"和整数除"/",如果我们写程序时不 ...
- C++双目/单目运算符的重载
该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105148178 双 ...
- C++ primer 第14章 操作重载与类型转换
文章目录 基本概念 直接调用一个重载的运算符函数 某些运算符不应该被重载 使用与内置类型一致的含义 选择作为成员或者非成员 输入和输出运算符 重载输出运算符<< 输出运算符尽量减少格式化操 ...
- 解剖C语言---数据类型转换与数据运算集锦
C语言学习笔记 之 数据类型转换与数据运算 一:数据类型转换 (1)自动转换(5+5.000000=?结果是10还是10.000000):发生在不同类型的数据混合运算时,由编译系统自动完成. 不同的 ...
- 运算符和结合性(转)
优先级 运算符 含义 要求运算对象的个数 结合方法 1 ( ) [ ] → · 圆括号 下标运算标 指向结构体成员运算符 结构体成员运算符 自左至右 2 ! - ++ -- - (类型) * & ...
最新文章
- 【java】快速复制数组方法arraycopy的使用
- 基于点云曲率的图像特征提取方法
- Unexpected end of JSON input while parsing near
- 血栓清道夫机器人_血栓“清道夫”找到了!洋葱排最后,排在第一很多人并不知道...
- 对C语言进行调试的最好方法是什么?
- 计算机和网络老是断开,电脑插上网线还是显示断开连接怎么办
- 数据库半年回顾:国外波澜不惊,国内势如破竹
- python字典popitem_Python 字典(Dictionary) | 菜鸟教程
- NPDP产品经理认证:创新性解决问题方法(TRIZ)的工具与应用
- 丧心病狂!最新NLP模型的写作水平已突破次元壁
- JavaScript网页设计:用户登录页面
- 变异系数(Coefficient of Variation,COV)和协方差(Covariance, Cov)
- 文件无法删除 你需要计算机管理员 提供的权限才能对此文件进行更改解决办法
- 神器vimium:比同级程序员成长更快,我主要靠它
- Microsoft Office Word使用技巧(各种报告论文排版可能需要的小技巧)
- termux目录_手机学编程(2)目录管理命令
- 利用更快的r-cnn深度学习进行目标检测
- df.pivot函数用法
- codeforces 250B Restoring IPv6
- memcached + mysql_memcached+Mysql(主从)