JavaScript 常用的操作符可以分为以下几类:
7. 类型操作符(Type Operators)
typeof
返回变量类型(如"string"
、"number"
)instanceof
检查对象是否属于某个类
js
console.log(typeof 123); // "number"
console.log([] instanceof Array); // true
8. 其他常用操作符
in
检查对象是否有某个属性(如'name' in obj
)delete
删除对象属性(如delete obj.name
)?.
可选链(避免undefined
报错,如obj?.prop
)??
空值合并(如x ?? 'default'
,仅在x
为null
或undefined
时生效)...
展开/剩余操作符(用于数组或对象)
js
delete删除元素 delete this.items[element]
`in` 操作符用于检查一个对象或其原型链中是否包含某个**属性名**
(即键名,字符串类型)。它不会检查属性值。
// 可选链
const user = { name: 'Alice' };
console.log(user?.address?.city); // undefined(不会报错)
// 空值合并
const score = 0;
console.log(score || 'N/A'); // 'N/A'(0 是 falsy)
console.log(score ?? 'N/A'); // 0(只有 null/undefined 会被替换)
// 展开操作符
const arr1 = [1, 2];
const arr2 = [...arr1, 3]; // [1, 2, 3]
总结
类别 | 操作符示例 | ||
---|---|---|---|
其他 | in , delete , ?. , ?? , ... |
||
算术 | + , - , * , / , % , ** |
||
赋值 | = , += , -= , *= , /= , %= |
||
比较 | == , === , > , < , >= , <= |
||
逻辑 | && , 或, ! |
||
位运算 | & , 或,~ , << , >> |
||
条件 | condition ? expr1 : expr2 |
||
类型 | typeof , instanceof |
掌握这些操作符是 JavaScript 编程的基础!
1. 算术操作符(Arithmetic Operators)
用于数学计算:
+
加法(也可用于字符串拼接)-
减法*
乘法/
除法%
取模(求余数)**
指数(如2 ** 3
返回8
)++
自增(x++
或++x
)--
自减(x--
或--x
)
js
console.log(5 + 3); // 8
console.log(10 % 3); // 1
console.log(2 ** 4); // 16
2. 赋值操作符(Assignment Operators)
用于变量赋值:
=
基本赋值+=
加后赋值(x += 2
等价于x = x + 2
)-=
减后赋值*=
乘后赋值/=
除后赋值%=
取模后赋值**=
指数后赋值
js
let x = 5;
x += 3; // x = 8
3. 比较操作符(Comparison Operators)
用于比较值,返回 true
或 false
:
==
相等(会进行类型转换)===
严格相等(值和类型都相同)!=
不相等!==
严格不相等>
大于<
小于>=
大于等于<=
小于等于
js
console.log(5 == '5'); // true(类型转换)
console.log(5 === '5'); // false(严格比较)
console.log(10 > 5); // true
4. 逻辑操作符(Logical Operators)
用于布尔逻辑运算:
&&
逻辑与(两个条件都为true
才返回true
)||
逻辑或(至少一个为true
就返回true
)!
逻辑非(取反)
js
console.log(true && false); // false
console.log(true || false); // true
console.log(!true); // false
5. 位操作符(Bitwise Operators)
对二进制位进行操作(较少使用):
&
按位与|
按位或^
按位异或~
按位非<<
左移>>
右移>>>
无符号右移
js
console.log(5 & 3); // 1(0101 & 0011 = 0001)
6. 条件(三元)操作符(Ternary Operator)
condition ? expr1 : expr2
如果 condition
为 true
,返回 expr1
,否则返回 expr2
。
js
const age = 20;
const status = age >= 18 ? 'Adult' : 'Minor';
console.log(status); // 'Adult'