读懂JavaScript运算符的类型和作用

要在计算机上编写程序,对运算符的理解是必不可少的。

但是,由于运算符有很多种,如果只听运算符的名字,可能很难想象它的作用。

下面我们就来介绍JavaScript中具有代表性的运算符的类型和作用。

算术运算符

算术运算符用于数值计算。

算术运算符有以下类型:

  • 加法“+”

  • 减法“-”

  • 乘法“*”

  • 除法“/”

  • 余数“%”

  • 求幂“**”

此外,“+”和“-”还有以下算术运算符的作用。

  • 一元加“+y”:将非数字y转换为数字

  • 一元减号“-y”:反转y的符号

  • 前置递增“++y”:y加1。返回加1后的值

  • 后置递增“y++”:y加1。返回加1之前的值

  • 前置减“—y”:y减1。减去1后的值返回

  • 后置减去“y—”:y减1。返回减去1之前的值

每个算术运算符都返回这样的结果。

let a = 7;
let b = 2 - -a; // 9 

++b // 10
--b // 9 

b = b * 2; // 18 
b = b / 3; // 6

let b = - -a看的部分,结果9。这是因为[-]用作一元减号,而不是减法[-]。

即使它们相同为[-],但一元减法的计算优先于减法。

赋值运算符

赋值运算符用于给变量赋值。

可以使用以下类型的赋值运算符。

  • 赋值“=”

  • 加法赋值“+=”

  • 减法赋值“-=”

  • 乘法赋值“*=”

  • 除法赋值“/=”

  • 剩余赋值“%=”

让我们看一个例子。

let a = 5; 
let b = 10; 
let c = 'string'; 

a += b; 
console.log(a); // 15

c += '是字符串'; 

console.log(c); // 'string是字符串'

+=允许同时添加和赋值。

赋值运算符的特点是能够同时执行一个运算和一个赋值。

读懂JavaScript运算符的类型和作用

比较运算符

比较运算符比较和评估两个值并返回 true 或 false。

可以使用以下类型的比较运算符。

  • 大于“>”

  • 大于等于“>=”

  • 小于“<”

  • 小于等于“<=”

  • 严格比较``===''

  • 严格不等式 '!=='

  • 相等比较“==”

  • 不等式“!=”

let a = 2; 
let b = 3; 

console.log(a > b); // false 
if (a < b) console.log('a比b小。'); // 'a比b小'
const c = 5; 
const d = '5'; 

console.log(c === d); // false 
console.log(c !== d ); // true; 
console.log(c == d); // true; 
console.log(c != d ); // false

console.log(a > b)不是有效的比较,将导致错误。

if(a < b)现在,由于评估结果返回 true,我们可以看到正在执行 if 语句。

另外在console.log(c = d)中,数值5和字符串中的‘5’是相同的值。

而在console.log(c === d)中,c和d的值虽然相同,但是因为数据类型不同,所以在严格比较中返回false。

逻辑运算符

逻辑运算符评估多个条件并返回 true 或 false 结果。

逻辑运算符有以下类型:

  • AND && :A且B时

  • OR || :A或B时

  • NOT ! :如果不是A

请参见以下示例。

const a = 5;
const b = 10;

console.log(a === 3 && a < b); // false
console.log(a === 3 || a < b); // true 
console.log(!(a > b)); // true

console.log(a === 3 && a < b),a === 3部分是假的,所以整体结果是假的。

如果你需要返回 true,那么这部分必须是a === 5。

另一方面,console.log(a === 3 || a < b)中的a < b评价是真的,所以a === 3即使是假的,整体结果也是真的。

console.log(!(a > b))表示a > b如果不正确,返回真。所以结果返回true。

运算符类型

typeof运算符返回值的数据类型。

typeof值可以引用值的数据类型。

console.log(typeof 10); // 'number' 
console.log(typeof '字符串'); // 'string' 
console.log(typeof true); // 'boolean' 
console.log(typeof {a: 10}); // 'object' 
console.log(typeof [10, 20, 30]); // 'object' 
console.log(typeof undefined); // 'undefined' 
console.log(typeof null); // 'object'

数据类型这篇文章中有详细解释。

详解JavaScript数据类型和typeof运算符

结语

本篇文章我们了解了JavaScript中具有代表性的运算符。

编程中经常一起使用多个运算符,因此了解每个运算符的作用很重要。