JavaScript 常用的操作符

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'

相关推荐
福兮说1 天前
设计稿是 #4A7C6F,页面量出来是 #4B7C6F:HEX、HSL、透明度、canvas 来回转的七个坑
前端·javascript·css·canvas
郑州光合科技余经理1 天前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
专业程序开发源1 天前
springboot简历管理系统81389-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
专业程序开发源1 天前
springboot社区养老系统44071-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·php·课程设计
小呆呆6661 天前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
凤城老人1 天前
从 PyQt6 到 Electron:给 Edge TTS 做一个“多角色配音机“的踩坑手记
javascript·typescript·electron
Dovis(誓平步青云)1 天前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
码艺-Alimjan1 天前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js
可乐鸡翅yeah_1 天前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
IT_陈寒1 天前
Vite静态资源导入这个坑我帮你们踩过了
前端·人工智能·后端