ECMA-262描述一组用于操作数据值的运算符,包括一元运算符、布尔运算符、算术运算符、关系运算符、三元运算符、位运算符及赋值运算符。ECMAScript中的运算符适用于很多值,包括字符串、数值、布尔值、对象等。操作符就是运算符。
一、什么是表达式
表达式是ECMAScript中的一个“短语”,解释器会通过计算把它转换成一个值。最简单的表达式是字面量或者变量名。
单一的字面量和组合字面量的运算符都可以成为表达式
二、一元运算符
只能操作一个值得运算符叫做一元运算符。
三、算术运算符
ECMAScript定义了5个算术运算符,加减乘除求模(取余)。如果在算术运算符的值不是数值,那么后台会先使用Number()转型函数将其转换为数值(隐式转换)。
四、关系运算符
用于进行比较的运算符称作关系运算符:<、>、≤、≥、==、!=、===、!==
和其他运算符一样,当关系运算符操作非数值时遵循以下规则:
1、两个操作数都是数值,则数值比较;
2、两个操作数都是字符串,则比较字符串对应的字符编码值;
3、两个操作符数有一个数值,则将另一个转换为数值,再进行数值比较;
4、两个操作数有一个是对象,则先调用valueof()方法或toString()方法,再用结果比较;