当前位置: 首页 > article >正文

js常用操作符

  1. 常用运算符

    • 条件运算符(三元运算符)? :

      • 语法: condition ? exprIfTrue : exprIfFalse

      • 用途: 根据条件condition的结果选择执行两个表达式中的一个。如果condition为真,则执行exprIfTrue;否则执行exprIfFalse

    • 空值合并运算符 ??

      • 用途: 返回其两个操作数中的一个,如果第一个操作数为nullundefined,则返回第二个操作数;否则返回第一个操作数。
      • 这个运算符用于处理默认值的情况,当一个变量可能为nullundefined时,可以使用它来提供一个替代的默认值。
    • 可选链运算符 ?.

      • 用途: 允许安全地读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。
      • 如果在访问链的任何部分遇到nullundefined,那么表达式的求值将立即停止,并返回undefined
    • 按位或运算符 |

      • 用途: 对两个整数进行按位或运算。对于每一位,只要有一个操作数的对应位为1,结果就为1;否则为0。
      • 此外,单个竖线|也可以用于将浮点数转换为32位有符号整数(通过与0进行按位或运算)。
    • 逻辑或运算符 ||

      • 用途: 对两个表达式进行逻辑或运算。如果第一个表达式为真(即不是false, 0, "", null, undefined, 或NaN),则返回第一个表达式;否则返回第二个表达式。
      • 常用于设置默认值,类似于??,但会处理更多的“假”值。
    • 按位与运算符 &

      • 用途: 对两个整数进行按位与运算。对于每一位,只有当两个操作数的对应位都为1时,结果才为1;否则为0。
    • 逻辑与运算符 &&

      • 用途: 对两个表达式进行逻辑与运算。如果第一个表达式为假,则返回第一个表达式;如果第一个表达式为真,则返回第二个表达式。
      • 常用于确保多个条件都为真时才执行某些代码,或者用于短路求值。
  2. 算术运算符

    • + 加法

    • - 减法

    • * 乘法

    • / 除法

    • % 取模(求余数)

    • ** 幂运算(指数)

      let sum = 5 + 3; // 8
      let difference = 10 - 4; // 6
      let product = 7 * 6; // 42
      let quotient = 15 / 3; // 5
      let remainder = 17 % 5; // 2
      let power = 2 ** 3; // 8
      
  3. 赋值运算符

    • = 简单赋值

    • += 加后赋值

    • -= 减后赋值

    • *= 乘后赋值

    • /= 除后赋值

    • %= 取模后赋值

    • **= 幂运算后赋值

  4. 比较运算符

    • == 松散相等 (会进行类型转换)

    • === 严格相等 (不会进行类型转换)

    • != 松散不相等

    • !== 严格不相等

    • > 大于

    • < 小于

    • >= 大于等于

    • <= 小于等于

  5. 逻辑运算符

    • && 逻辑与
    • || 逻辑或
    • ! 逻辑非
    let isAdult = age >= 18 && age <= 65;
    let hasPermission = isUser || isAdmin;
    let isNotAvailable = !isAvailable;
    
  6. 位运算符

    对数字的二进制表示进行操作

    • & 按位与

    • | 按位或

    • ^ 按位异或

    • ~ 按位非

    • << 左移

    • >> 带符号右移

    • >>> 无符号右移

      let result = 5 & 3; // 1
      result = 5 | 3; // 7
      result = 5 ^ 3; // 6
      result = ~5; // -6
      result = 5 << 1; // 10
      result = 5 >> 1; // 2
      result = 5 >>> 1; // 2 (对于正数,与 `>>` 相同)
      
  7. 类型运算符

    • typeof 返回一个字符串,指示操作数的类型

    • instanceof 用于检查对象是否是某个构造函数的实例

      console.log(typeof 42); // "number"
      console.log(typeof "hello"); // "string"
      console.log([] instanceof Array); // true
      
  8. 其他运算符

    • , 逗号运算符:可以在一条语句中执行多个表达式。

    • delete:删除对象的属性。

    • in:检查对象是否有指定的属性。

    • new:创建一个用户定义的对象类型的实例,或特殊对象类型的实例。

    • ... 扩展运算符/剩余参数:用于解构数组或对象,或者作为函数参数列表中的剩余参数。

      let obj = { a: 1, b: 2 };
      delete obj.a; // 删除属性 'a'
      console.log('b' in obj); // true
      let arr = [1, 2, 3];
      let newArr = [...arr, 4, 5]; // 使用扩展运算符复制并添加元素
      function add(...args) { return args.reduce((a, b) => a + b, 0); }
      console.log(add(1, 2, 3)); // 6
      

http://www.kler.cn/a/509011.html

相关文章:

  • 4.Spring AI Prompt:与大模型进行有效沟通
  • 深度学习项目--基于LSTM的火灾预测研究(pytorch实现)
  • SQLite 3.48.0 发布,有哪些更新?
  • SpringSecurity-前后端分离
  • 【PHP】双方接口通信校验服务
  • 读取长文本,使用读取底表
  • macOS安装的Ubuntu 20 VM虚拟机扩充磁盘的便捷方式
  • OpenWRT Conserver 共享串口服务实现
  • Linux UDP 编程详解
  • B3DM转换成XYZ
  • AI面试官
  • 深入HDFS——数据上传源码
  • wireshark上没有显示出来rtp协议如何处理
  • 群论学习笔记
  • Windows图形界面(GUI)-QT-C/C++ - Qt Table Widget详解教程
  • 【深度学习】Pytorch:在 ResNet 中加入注意力机制
  • 架构思考与实践:从通用到场景的转变
  • AI的出现,是否能替代IT从业者?
  • 如何使用Python将长图片分隔为若干张小图片
  • 数仓建模(五)选择数仓技术栈:Hive ClickHouse 其它
  • 函数(函数的概念、库函数、自定义函数、形参和实参、return语句、数组做函数参数、嵌套调用和链式访问、函数的声明和定义、static和extern)
  • Java中GUI编程和内部类的学习
  • 【SQL 中的分组查询与联合查询详解】
  • 面试经验分享-回忆版某小公司
  • Spring经典面试题
  • unfold函数