iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >JavaScript中几个常用的运算符
  • 320
分享到

JavaScript中几个常用的运算符

2024-04-02 19:04:59 320人浏览 八月长安
摘要

这篇文章主要讲解了“javascript中几个常用的运算符”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中几个常用的运算符”吧!一、可选

这篇文章主要讲解了“javascript中几个常用的运算符”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中几个常用的运算符”吧!

一、可选链接运算符【?.】

(1) 可选链接运算符(Optional Chaining Operator) 处于 ES2020 提案的第 4  阶段,因此应将其添加到规范中。它改变了访问对象内部属性的方式,尤其是深层嵌套的属性。它也可以作为 typescript 3.7 + 中的功能使用。

相信大部分开发前端的的小伙伴们都会遇到 null 和未定义的属性。js 语言的动态特性使其无法不碰到它们。特别是在处理嵌套对象时,以下代码很常见:

if (data && data.children && data.children[0] && data.children[0].title) {     // I have a title! }

上面的代码用于 api 响应,我必须解析 JSON  以确保名称存在。但是,当对象具有可选属性或某些配置对象具有某些值的动态映射时,可能会遇到类似情况,需要检查很多边界条件。

这时候,如果我们使用可选链接运算符,一切就变得更加轻松了。它为我们检查嵌套属性,而不必显式搜索梯形图。我们所要做的就是使用 “?”  要检查空值的属性之后的运算符。我们可以随意在表达式中多次使用该运算符,并且如果未定义任何项,它将尽早返回。

(2) 对于静态属性用法是:

object?.property

(3) 对于动态属性将其更改为:

object?.[expression]

上面的代码可以简化为:

let title = data?.children?.[0]?.title;

然后,如果我们有:

let data; console.log(data?.children?.[0]?.title) // undefined  data  = {children: [{title:'codercao'}]} console.log(data?.children?.[0]?.title) // codercao

这样写是不是更加简单了呢?由于操作符一旦为空值就会终止,因此也可以使用它来有条件地调用方法或应用条件逻辑

const conditionalProperty = null; let index = 0;  console.log(conditionalProperty?.[index++]); // undefined console.log(index);  // 0

(4) 对于方法的调用你可以这样写

object.runsOnlyIfMethodExists?.()

例如下面的parent对象,如果我们直接调用parent.getTitle(), 则会报Uncaught TypeError:  parent.getTitle is not a function错误,parent.getTitle?.()则会终止不会执行

let parent = {     name: "parent",     friends: ["p1", "p2", "p3"],     getName: function() {       console.log(this.name)     }   };      parent.getName?.()   // parent   parent.getTitle?.()  //不会执行

(5) 与无效合并一起使用

提供了一种方法来处理未定义或为空值和表达提供默认值。我们可以使用??运算符,为表达式提供默认值

console.log(undefined ?? 'codercao'); // codercao

因此,如果属性不存在,则可以将无效的合并运算符与可选链接运算符结合使用以提供默认值。

let title = data?.children?.[0]?.title ?? 'codercao'; console.log(title); // codercao

二、逻辑空分配(?? =)

expr1 ??= expr2

逻辑空值运算符仅在 nullish 值(null 或者 undefined)时才将值分配给 expr1,表达方式:

x ??= y

可能看起来等效于:

xx = x ?? y;

但事实并非如此!有细微的差别。

空的合并运算符(??)从左到右操作,如果 x 不为 nullish 值则中表达式不执行。因此,如果 x 不为null 或者  undefined,则永远不会对表达式y进行求值。如果y是一个函数,它将根本不会被调用。因此,此逻辑赋值运算符等效于

x ?? (x = y);

三、逻辑或分配(|| =)

此逻辑赋值运算符仅在左侧表达式为 falsy 值(虚值) 时才赋值。Falsy 值(虚值)与 null 有所不同,因为 falsy  值(虚值)可以是任何一种值:undefined,null,空字符串 (双引号 ""、单引号’’、反引号 ``),NaN,0。IE 浏览器中的  document.all,也算是一个。

语法:

x ||= y

等同于

x || (x = y)

在我们想要保留现有值(如果不存在)的情况下,这很有用,否则我们想为其分配默认值。例如,如果搜索请求中没有数据,我们希望将元素的内部 html  设置为默认值。否则,我们要显示现有列表。这样,我们避免了不必要的更新和任何副作用,例如解析,重新渲染,失去焦点等。我们可以简单地使用此运算符来使用  JavaScript 更新 HTML:

document.getElementById('search').innerHTML ||= '<i>No posts found matching this search.</i>'

四、逻辑与分配(&& =)

可能你已经猜到了,此逻辑赋值运算符仅在左侧为真时才赋值。因此:

x &&= y

等同于

x && (x = y)

感谢各位的阅读,以上就是“JavaScript中几个常用的运算符”的内容了,经过本文的学习后,相信大家对JavaScript中几个常用的运算符这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: JavaScript中几个常用的运算符

本文链接: https://www.lsjlt.com/news/68487.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript中几个常用的运算符
    这篇文章主要讲解了“JavaScript中几个常用的运算符”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中几个常用的运算符”吧!一、可选...
    99+
    2022-10-19
  • 分享几个JavaScript运算符的使用技巧
    目录一、可选链接运算符【?.】二、逻辑空分配(?? =)三、逻辑或分配(|| =)四、逻辑与分配(&& =)最后ECMAScript发展进程中,会有很...
    99+
    2022-11-12
  • JS ES6展开运算符的几个妙用
    目录1. 添加属性2. 合并多个对象3. 移除对象属性4.动态移除属性5. 调整属性顺序6. 设置属性默认值7: 属性重命名8. 还有更秀的操作1. 添加属性 复制对象的同时,为其添...
    99+
    2022-11-12
  • javascript中的恒等运算符是哪个
    这篇文章主要介绍javascript中的恒等运算符是哪个,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在javascript中,恒等运算符是“===”,...
    99+
    2022-10-19
  • JavaScript中运算符的用法
    本篇内容介绍了“JavaScript中运算符的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!JavaS...
    99+
    2022-10-19
  • JavaScript有哪些常见的运算符
    小编给大家分享一下JavaScript有哪些常见的运算符,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScript常见运...
    99+
    2022-10-19
  • javascript中&&运算符与||运算符的使用方法实例
    目录前言&&运算符||运算符||运算符的小demo本章目标案例实践(通过加载json渲染数据)结尾总结前言 在前端开发领域中,&&运算符和||运算符...
    99+
    2022-11-12
  • javascript中&&运算符与||运算符的使用方法
    本篇文章为大家展示了javascript中&&运算符与||运算符的使用方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言在前端开发领域中,&&运算符和||运算符是...
    99+
    2023-06-25
  • JavaScript中的运算符讲解
    一、JavaScript 算术运算符 算数运算符用于对数字执行算数运算: +:加法-:减法*:乘法/:除法%:系数++:递加--:递减 加法运算符(+)对数字相加: var x = ...
    99+
    2022-11-13
  • JavaScript有哪些常见的比较运算符
    小编给大家分享一下JavaScript有哪些常见的比较运算符,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScript常...
    99+
    2022-10-19
  • JavaScript有哪些常见的赋值运算符
    这篇文章主要介绍了JavaScript有哪些常见的赋值运算符,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JavaScript常见赋值运算符...
    99+
    2022-10-19
  • pytorch中常用的乘法运算及相关的运算符(@和*)
    目录前言1、torch.mm2、torch.bmm3、torch.mul4、torch.mv5、torch.matmul6、@运算符7、*运算符附:二维矩阵乘法总结前言 这里总结一下...
    99+
    2022-11-12
  • javascript中instanceof运算符的用法详解
    概述 instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上 语法 obj instanceof Object;//t...
    99+
    2022-11-13
  • javascript中不等于运算符的用法
    这篇文章主要介绍“javascript中不等于运算符的用法”,在日常操作中,相信很多人在javascript中不等于运算符的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript中不等于运算符...
    99+
    2023-06-20
  • JavaScript中Spread运算符如何使用
    这篇文章将为大家详细讲解有关JavaScript中Spread运算符如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.在log中使用延展操作运算符你...
    99+
    2022-10-19
  • javascript中instanceof运算符怎么使用
    在JavaScript中,instanceof运算符用于检查一个对象是否是某个构造函数的实例。它的使用方法如下:```javascr...
    99+
    2023-08-12
    javascript instanceof
  • JavaScript中逗号运算符怎么用
    这篇文章将为大家详细讲解有关JavaScript中逗号运算符怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。逗号运算符逗号运算符( ,)用来评估其每个操作数(从左到右)并返回最后一个操作数的值。let...
    99+
    2023-06-27
  • JavaScript中instanceof 运算符的作用是什么
    这篇文章给大家介绍JavaScript中instanceof 运算符的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。instanceof 运算符简介在 JavaScript ...
    99+
    2022-10-19
  • JavaScript中几个最常见的错误
    这篇文章主要介绍“JavaScript中几个最常见的错误”,在日常操作中,相信很多人在JavaScript中几个最常见的错误问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja...
    99+
    2022-10-19
  • JavaScript比较运算符常见的错误有哪些
    这篇“JavaScript比较运算符常见的错误有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作