JavaScript中有哪些逻辑赋值运算符

  介绍

这期内容当中小编将会给大家带来有关JavaScript中有哪些逻辑赋值运算符,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

JavaScript是什么

JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,主要用于web的开发,可以给网站添加各种各样的动态效果,让网页更加美观。

<强>无条件和有条件

<强>数学运算符,例如<代码> +>

在<代码> const x=1 + 2> lh> RHS 中,并将结果分配给x <代码>

lh和RHS是数学领域内的概念,意为等式左边和等式右边的意思,在我们现在的场景下就是赋值操作符的左侧和右侧。当变量出现在赋值操作符的左边时,就进行lh查询;反之进行RHS查询。

我们甚至可以编写一些奇怪的代码,例如<代码> const x=false + 2 . JS首先将<代码>假> ,因此得到<代码> const x=数量(false) + 2> 为const x=0 + 2> x> 2>

<强>逻辑运算符,例如<代码>,和是有条件的

在<代码> const x=true,,0 + 2> 。因为lh的值为<代码>真正> 2>

与<代码> const x=false,,0 + 2> 假>

你可能想知道为什么要避免计算RHS吗?两个常见的原因是获得<代码>更好的性能和避免副作用

<强>二元逻辑运算符

<强>,,| | ? ?

在JSX中我们经常使用<代码>,和和<代码> | |> ? ? 是<代码> nullish(空值)合并运算符,它是最近刚通过提案的,很快就会普及。它们都是二元逻辑运算符。

<李>

使用<代码>,和测试lh的结果是否是真值。

<李>

使用<代码> | |> <李>

用<代码> ? ?>

<强>虚值,vs Nullish

在JS中有哪些算是虚值呢?

<李>

<李>

定义

<李>

<李>

<李>

0

<李>

”;“(空字符串)

下面这两姐妹被认为是nullish值。

<李>

<李>

定义

值得注意的是,使用二元逻辑运算符不一定返回<代码>布尔值> lh 或<代码> RHS>

<代码>,和或<代码> | | 产生的值不一定是布尔型的,而是两个操作数表达式之中的一个值。
<强>一些事例
//,,,/,/如果,LHS 是真值,计算并返回,,否则返回,lh      true ,,, 100 * * 2,//10000   ,   “Joe",,,,“JavaScript",//,“JavaScript"   ,   false ,,, 100 * * 2,//,假的   ,   “,,,,,100 * * 2,//,,,   ,   NaN ,,, 100 * * 2,//南   ,   null ,,, 100 * * 2,//空   ,   undefined ,,, 100 * * 2,//,未定义的

<强>逻辑赋值运算符

<强>,,=| |=? ?=

这个运算符将赋值与条件逻辑运算符结合在一起,因此命名为<强>“逻辑赋值”。它们只是一种简写,例如,<代码> x和,=y 是<代码> x和,(x=y) 的简写。

从逻辑赋值返回的值不是更新的赋值,而是已计算表达式的值。

由于先前的ECMAScript特性,比如默认参数和nullish合并操作符,你可以说在逻辑赋值所提供的功能中肯定存在一些冗余。虽然这种速记看起来很流畅,而且我相信当我们发现更多的用例时,它会派上用场的。

<强>逻辑与赋值(,,=)
//,逻辑与   LHS ,,=,园艺学会//,等价于,   LHS ,,, (=LHS  RHS)   ,//,事例//,if  x  is 揭示真相,,assign  x 用y, otherwise  return  x//,如果,x 为真值,则将,y 赋值给,x,,否则返回,x   let  x =1   const  y =100   x ,,=, y //, x 为100   ,,//,与上面对应的长的写法   x ,,, (=x  y)

JavaScript中有哪些逻辑赋值运算符