JavaScript – 操作符

JavaScript – 操作符

算术运算符

JavaScript 中常用的算术运算符有加法 +,减法 -,乘法 *,除法 /,取模 %。这些运算符的使用方法与数学上的运算相同。

let a = 10;
let b = 5;
console.log(a + b); // 15
console.log(a - b); // 5
console.log(a * b); // 50
console.log(a / b); // 2
console.log(a % b); // 0

需要注意的是,加法运算符还有一种字符串拼接的作用。如果运算中有一个或两个操作数是字符串,加法运算符会将它们拼接在一起。

let str1 = "Hello";
let str2 = "world!";
console.log(str1 + " " + str2); // "Hello world!"

自增/自减运算符

自增/自减运算符是一种简写语法,可以让变量的值加 1 或减 1。自增运算符为 ++,自减运算符为 --

let a = 5;
console.log(a++); // 5,先输出原值再自增
console.log(a); // 6
console.log(++a); // 7,先自增再输出新值
console.log(a); // 7
console.log(a--); // 7,先输出原值再自减
console.log(a); // 6
console.log(--a); // 5,先自减再输出新值
console.log(a); // 5

自增/自减运算符也可以应用于对象的属性值。

let obj = { a: 5 };
console.log(obj.a++); // 5,先输出原值再自增
console.log(obj.a); // 6
console.log(++obj.a); // 7,先自增再输出新值
console.log(obj.a); // 7

比较运算符

比较运算符用于比较两个值的大小关系,运算结果为布尔值 truefalse

JavaScript 中的比较运算符包括相等/不相等 ==/!=、全等/不全等 ===/!==、大于/小于/大于等于/小于等于 >/</>=/<=

相等/不相等运算符

相等/不相等运算符用于比较两个值是否相等。注意,这里的相等不是指类型和值都相等,而是指值相等(如果类型不同会做类型转换)。

console.log(1 == "1"); // true,类型不同但值相等,会做类型转换
console.log(1 === "1"); // false,类型不同,不会做类型转换
console.log(1 != "2"); // true,类型不同但值不相等,会做类型转换
console.log(1 !== "1"); // true,类型不同

全等/不全等运算符

全等/不全等运算符用于比较两个值是否类型和值都相等。

console.log(1 === 1); // true
console.log("1" === 1); // false,类型不同
console.log("1" !== 1); // true,类型不同或值不相等

大于/小于/大于等于/小于等于运算符

大于/小于/大于等于/小于等于运算符用于比较两个数的大小关系。

console.log(2 > 1); // true
console.log(1 >= 1); // true
console.log(3 < 2); // false
console.log(2 <= 2); // true

逻辑运算符

逻辑运算符用于对布尔值进行运算,运算结果也是布尔值 truefalse

JavaScript 中的逻辑运算符包括与 &&、或 ||、非 !

与运算符

与运算符在两个操作数都为真(true)时,结果为真;在任一操作数为假(false)时,结果为假。

console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // false

与运算符可以用于多个操作数的情况。在多个操作数的情况下,只要有一个操作数为假,结果就为假。

console.log(true && true && true); // true
console.log(true && true && false); // false

与运算符是“短路”运算,如果第一个操作数为假,则不再计算第二个操作数。

let a = false;
let b = true;
console.log(a && b); // false,不计算 b

或运算符

或运算符在两个操作数都为假(false)时,结果为假;在任一操作数为真(true)时,结果为真。

console.log(true || true); // true
console.log(true || false); // true
console.log(false || true); // true
console.log(false || false); // false

或运算符也可以用于多个操作数的情况。在多个操作数的情况下,只要有一个操作数为真,结果就为真。

console.log(false || false || true); // true
console.log(false || false || false); // false

或运算符也是“短路”运算,如果第一个操作数为真,则不再计算第二个操作数。

let a = true;
let b = false;
console.log(a || b); // true,不计算 b

非运算符

非运算符用于将一个布尔值取反(true 变成 false,false 变成 true)。

console.log(!true); // false
console.log(!false); // true

赋值运算符

赋值运算符用于将一个值赋给一个变量,在 JavaScript 中有很多种赋值运算符。

等号赋值运算符

等号 = 是基本的赋值运算符,将右侧的值赋给左侧的变量。

let a = 1;
let b = a;
console.log(b); // 1

加等赋值运算符

加等 += 是将左侧的值和右侧的值相加,并将结果赋给左侧的变量。

let a = 1;
a += 2; // a = a + 2
console.log(a); // 3

减等赋值运算符

减等 -= 是将左侧的值和右侧的值相减,并将结果赋给左侧的变量。

let a = 3;
a -= 2; // a = a - 2
console.log(a); // 1

乘等赋值运算符

乘等 *= 是将左侧的值和右侧的值相乘,并将结果赋给左侧的变量。

let a = 2;
a *= 3; // a = a * 3
console.log(a); // 6

除等赋值运算符

除等 /= 是将左侧的值和右侧的值相除,并将结果赋给左侧的变量。

let a = 6;
a /= 3; // a = a / 3
console.log(a); // 2

取模等赋值运算符

取模等 %= 是将左侧的值和右侧的值取模运算,并将结果赋给左侧的变量。

let a = 7;
a %= 3; // a = a % 3
console.log(a); // 1

位运算符

位运算符用于对二进制数进行计算,运算结果也是二进制数。

JavaScript 中的位运算符包括按位与 &、按位或 |、按位异或 ^、按位非 ~、左移 <<、右移 >>、无符号右移 >>>

按位与运算符

按位与运算符对两个操作数的二进制数进行“与”运算,结果为一个新的二进制数。

console.log(0b1010 & 0b1100); // 0b1000

按位或运算符

按位或运算符对两个操作数的二进制数进行“或”运算,结果为一个新的二进制数。

console.log(0b1010 | 0b1100); // 0b1110

按位异或运算符

按位异或运算符对两个操作数的二进制数进行“异或”运算,结果为一个新的二进制数。

console.log(0b1010 ^ 0b1100); // 0b0110

按位非运算符

按位非运算符对一个操作数的二进制数进行“取反”运算,结果为一个新的二进制数。

console.log(~0b1010); // 0b0101(负数返回一个补码)

左移运算符

左移运算符将一个二进制数向左移动指定的位数,不足部分补 0,结果为一个新的二进制数。

console.log(0b1010 << 2); // 0b101000

右移运算符

右移运算符将一个二进制数向右移动指定的位数,不足部分补 0,结果为一个新的二进制数。

console.log(0b1010 >> 2); // 0b10

无符号右移运算符

无符号右移运算符将一个二进制数向右移动指定的位数,不足部分补 0,结果为一个新的二进制数(无符号数移位,左边补 0)。

console.log(0b1010 >>> 2); // 0b10

条件运算符

条件运算符是 JavaScript 中唯一的三元运算符,也称为“三目运算符”(?:),用于返回两个值中的一个,根据条件的真假决定返回哪个值。

condition ? value1 : value2

如果条件为真,返回 value1,否则返回 value2

let a = 5;
let b = 10;
let result = a > b ? "Hello" : "World";
console.log(result); // "World"

结论

JavaScript 中的操作符包括算术运算符、自增/自减运算符、比较运算符、逻辑运算符、赋值运算符、位运算符和条件运算符。在使用操作符时,需要注意它们的优先级和左右结合性,以避免出现不必要的错误。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程