ts:常见的运算符

ts:常见的运算符

  • 1 主要内容说明
  • 2 表格
    • 2.1 算数运算符
    • 2.2 赋值运算符
    • 2.3 比较运算符
    • 2.4 逻辑运算符
    • 2.5 位运算符
    • 2.6 三元运算符
  • 3 例子
    • 3.1 位运算符
      • 3.1.1 源码1 (位运算符)
      • 3.1.2 源码1运行效果
  • 3.结语
  • 4.定位日期

1 主要内容说明

ts中的各种运算符,代码中常常用得到,其他语言中也同样拥有相同的运算符。只需会一种语言的运算符就可以举一反三,会其他语言的运算符了。由于内容比较简单,简单的运算符具体代码举例便不进行了,只设置那些稍难一点的运算符,如三元运算符和位运算符。其实都是很容易,聪明的读者肯定能一看就会。

2 表格

2.1 算数运算符

比较常见的数学计算运算符。

运算符功能举例
加法764 + 467
减法764 - 467
×(*)乘法764 * 467
/除法764 / 467
%取余764 % 467
**幂运算(指数)2 ** 3(结果为 8)

2.2 赋值运算符

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

运算符功能举例
=赋值let a = 764
+=加法赋值a += 764(等价于 a = a + 764)
-=减法赋值a -= 764(等价于 a = a - 764)
*=乘法赋值a *= 764(等价于 a = a * 764)
/=除法赋值a /= 764(等价于 a = a / 764)
%=取余赋值a %= 764(等价于 a = a % 764)
++累加n++ (等价于 n = n + 1)
--累减n - - (等价于 n = n - 1)

2.3 比较运算符

比较运算符通常用于比较两值,返回布尔值。

运算符功能举例
==相等(类型不严格)7 == ‘7’(返回 true)
===严格相等7 === ‘7’(返回 false)
!=不相等(类型不严格)7 != ‘7’(返回 false)
!==严格不相等7 !== ‘7’(返回 true)
大于7 > 6(返回 true)
<小于7 < 6(返回 false)
>=大于或等于7 >= 7(返回 true)
<=小于或等于7 <= 7(返回 true)

2.4 逻辑运算符

逻辑运算符用于组合布尔表达式。

运算符功能举例
||逻辑或true ||false(返回true)
&&逻辑与true && false(返回 false)
!逻辑非!true(返回 false)

2.5 位运算符

位运算符用于操作位。平常我们输入的为10进制的数,位运算符为转为二进制后进行相关的方法。为了让方法更直观,我们在后面再另起代码示例的源码1。

运算符功能举例
&位与7 & 4
位或7|4
^位异或7 ^ 4
~位非~7
<<左移7 << 4
>>右移7 >> 4
>>>无符号右移7 >>> 4

2.6 三元运算符

let A = 467;
let B = 764;
let max = (A > B) ? A : B; // 返回较大值

?左边的函数返回为真(ture)时,返回A值,反之,当?左边的函数返回为假(false)时,返回B值。
三元运算符问号左边为设置的函数,这里只是设置了一个非常简单的比较函数,开发中会有更复杂的逻辑函数。当?左边函数成立时,便执行内容A,不成立,则执行B。当然,?右边的A和B也可以各自设置方法,当满足问号左边的函数条件时,执行A的方法,不满足函数条件,则执行B的方法。

3 例子

3.1 位运算符

3.1.1 源码1 (位运算符)

let a = 7; // 7 的二进制表示为 0000000111
let b = 4; // 4 的二进制表示为 0000000100// 位与运算符(&)
// 只有在 a 和 b 的对应位都为 1 时,结果才为 1
let result_1 = a & b; // 结果:0000000100(即 4)
console.log(result_1); // 输出 4// 位或运算符(|)
// 只要 a 和 b 的对应位有一个为 1,结果就为 1
let result_2 = a | b; // 结果:0000000111(即 7)
console.log(result_2); // 输出 7// 位异或运算符(^)
// 当 a 和 b 的对应位不相同时,结果为 1
let result_3 = a ^ b; // 结果:0000000011(即 3)
console.log(result_3); // 输出 3// 位非运算符(~)
// 对 a 的每一位取反
let result_4 = ~a; // 结果:-8(即 11111111111111111111111111111000,32位补码表示)
console.log(result_4); // 输出 -8// 左移运算符(<<)
// 将 a 的二进制位向左移动 1 位,右侧补 0
let result_5 = a << 1; // 结果:0000001110(即 14)
console.log(result_5); // 输出 14// 右移运算符(>>)
// 将 a 的二进制位向右移动 1 位,符号位保持不变
let result_6 = a >> 1; // 结果:0000000011(即 3)
console.log(result_6); // 输出 3// 无符号右移运算符(>>>)
// 将 a 的二进制位向右移动 1 位,左侧补 0
let result_7 = a >>> 1; // 结果:0000000011(即 3)
console.log(result_7); // 输出 3

3.1.2 源码1运行效果

在这里插入图片描述

3.结语

运算符代码中用得非常多,所以归纳整合了一下。笔者认为本文中,最最重要的是三元运算符,在函数逻辑中用得好的话,可以让代码更简单和清晰。
由于笔者的能力有限,创作的内容有所不足在所难免,也敬请读者包涵和指出,万分感谢!

4.定位日期

2024-11-3;
20:01;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/59191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity搭建场景学习

unity搭建场景学习 创建场景创建gameobject创建材质&#xff0c;用于给gameobject上色拖拽材质球上色上色原理设置多个材质方式设置贴图的方式 效果设置光滑度一些预览设置菜单渲染模型与碰撞模型网格渲染参数1. materials(材质)2. lighting(光照)3. reflection probes(反射探针…

『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC

『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC 文章目录 一. 『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC1. 介绍 二. 参考文献 一. 『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC 如何在 Ubuntu 22.04 上安装和配置 VNChttps://hub.docker.c…

xlwings,让excel飞起来!

excel已经成为必不可少的数据处理软件&#xff0c;几乎天天在用。python有很多支持操作excel的第三方库&#xff0c;xlwings是其中一个。 关于xlwings xlwings开源免费&#xff0c;能够非常方便的读写Excel文件中的数据&#xff0c;并且能够进行单元格格式的修改。 xlwings还…

03.DDD六边形架构

学习视频来源&#xff1a;DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid1940048&ctype0 文章目录 什么是依赖DDD四层架构六边形架构代码实现 想要详细了解六边形架构&#xff0c;可以看我之前的一篇文章。是对六边形架构原文的翻…

在VS Code中操作MySQL数据库

【基础篇】 【小白专用24.5.26 已验证】VSCode下载和安装与配置PHP开发环境&#xff08;详细版&#xff09;_vscode php-CSDN博客 ~~~~~~~~~~~~~~~~~~~~~~~~~ 在VS Code中下载插件 Prettier SQL VSCode 和 MySQL : 随后在VS Code中点击Database图标 在连接界面输入MySQL数据库…

使用WebAssembly优化Web应用性能

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用WebAssembly优化Web应用性能 引言 WebAssembly 简介 安装工具 创建 WebAssembly 项目 编写 WebAssembly 代码 编译 WebAssem…

AI工具列表

AI写作工具 工具名称推测的https://地址笔灵AI写作https://ibiling.cn/Paperpalhttps://paperpal.com新华妙笔https://miaobi.xinhuaskl.com/讯飞写作https://iflytek.com墨狐AIhttps://inkfox-ai.com/火山写作https://www.writingo.net/橙篇https://chengpian.com&#xff08…

gbase8s之spring框架用druid中间件报语法错误

spring框架 调用druid中间件 时报这个错&#xff1a; MetaDataAccessException: Could not get Connection for extracting meta-data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception …

HTML 基础标签——元数据标签 <meta>

文章目录 1. `<meta>` 标签概述2. 属性详解2.1 `charset` 属性2.2 `name` 属性2.3 `content` 属性2.4 `http-equiv` 属性3. 其他常见属性小结在 HTML 文档中,元数据标签 <meta> 是一种重要的标签,用于提供关于文档的信息,这些信息不直接显示在网页内容中,但对于…

【CSS】外边距塌陷

问题背景 在移动应用页面开发中&#xff0c;父元素和子元素外边距合并&#xff0c;导致布局效果和预期不一致。 <template><view class"container"><view class"card"><p>TEST</p></view></view> </templa…

基于STM32的智能手环设计

本设计的主控芯片采用STM32F103C8T6&#xff0c;体温模块采用DS18B20温度传感器&#xff0c;显示模块采用OLED显示&#xff0c;心率、血氧的测量采用MAX30102模块既不需要外接电路&#xff0c;又可以保障数据稳定&#xff0c;内部还具有降噪功能。采用这些模块&#xff0c;保证…

LeetCode 3165.不包含相邻元素的子序列的最大和:单点修改的线段树(动态规划)

【LetMeFly】3165.不包含相邻元素的子序列的最大和&#xff1a;单点修改的线段树&#xff08;动态规划&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/maximum-sum-of-subsequence-with-non-adjacent-elements/ 给你一个整数数组 nums 和一个二维数组 q…

Python代码解析:生成Jieba自定义词典

Python代码解析&#xff1a;生成Jieba自定义词典 引言代码结构概览代码详解1. 导入必要的库2. 定义文件路径3. 读取JSON文件内容4. 生成自定义词典 总结参考资料 引言 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;分词是一个非常重要的步骤。Jieba是一个非常流…

微信小程序,打开新的项目,调试遇见[ app.json 文件内容错误] app.json: 在项目根目录未找到 app.json

1&#xff0c;首先&#xff0c;在开发工具右上角&#xff0c;打开详情&#xff1b;设置基础库&#xff1b;3.6.3 2&#xff0c;第二步&#xff0c;在项目目录下&#xff0c;找到app.json文件存在 3&#xff0c;第三步&#xff0c;修改项目根目录下&#xff0c;project.config.j…

MFC界面开发组件Xtreme Toolkit Pro v24全新发布—完整的SVG支持

Codejock软件公司的Xtreme Toolkit Pro是屡获殊荣的VC界面库&#xff0c;是MFC开发中最全面界面控件套包&#xff0c;它提供了Windows开发所需要的11种主流的Visual C MFC控件&#xff0c;包括Command Bars、Controls、Chart Pro、Calendar、Docking Pane、Property Grid、Repo…

FreeRTOS学习8——开启任务调度器API函数简介

开启任务调度器API函数简介 任务调度开启任务调度器API函数简介**函数** **vTaskStartScheduler()****函数** **xPortStartScheduler()****函数** **prvStartFirstTask()****函数** **vPortSVCHandler()****注意**补充**出栈/压栈汇编指令详解** 任务调度 开启任务调度器API函…

SIGNAL TAP使用记录

一、首先编译工程 二、打开signal tap&#xff0c;并设置抓取时钟以及采样深度 二、点击set up&#xff0c;然后双击空白处&#xff0c;会弹出右侧窗口&#xff0c;点击filter选择pre_synthesis&#xff0c;这里选择综合前的信号观测&#xff0c;要确保左侧窗口内的信号是黑色…

RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)

在计算机组成原理中&#xff0c;RAID&#xff08;Redundant Array of Independent Disks&#xff0c;独立冗余磁盘阵列&#xff09;是一种将多个物理磁盘驱动器组合成一个或多个逻辑单元&#xff0c;以提供数据存储的技术。RAID技术旨在通过数据冗余和分散存储来提高数据的可靠…

Windows版 nginx安装,启动,目录解析,常用命令

Windows版 nginx安装&#xff0c;启动&#xff0c;目录解析&#xff0c;常用命令 一级目录二级目录三级目录 1. 下载2. 启动方式一&#xff1a;方式二&#xff1a; 3. 验证是否启动4. 安装目录解析5. 常用命令 一级目录 二级目录 三级目录 1. 下载 官网下载&#xff1a;ngi…

【Linux 从基础到进阶】使用Pacemaker与Corosync实现高可用

使用Pacemaker与Corosync实现高可用 在现代 IT 基础设施中&#xff0c;高可用性&#xff08;High Availability&#xff0c;HA&#xff09;至关重要&#xff0c;尤其是在处理关键应用和服务时。本文将介绍如何使用 Pacemaker 和 Corosync 实现高可用性集群&#xff0c;以确保服…