有人能给我解释一下“逻辑”的范围吗;或;操作符在Javascript中工作?
这是我的密码有人能给我解释一下“逻辑”的范围吗;或;操作符在Javascript中工作?,javascript,logical-operators,Javascript,Logical Operators,这是我的密码 function getVowelCount(str) { let array = str.split(""); let vowelCount = array.reduce((acc, curr) => { if (curr === 'a' || curr === 'e' || curr === 'i' || curr === 'o' || curr === 'u') { acc++ } return acc }, 0); return vowe
function getVowelCount(str) {
let array = str.split("");
let vowelCount = array.reduce((acc, curr) => {
if (curr === 'a' || curr === 'e' || curr === 'i' || curr === 'o' || curr === 'u') {
acc++
} return acc
}, 0);
return vowelCount
}
我对编码是新手,我从Javascript开始。请有人解释一下为什么我不能在if语句中使用“(curr==='a'| | e'| |'I'| |'o'| |'u')”
。我以为那会被处理成;“如果当前值为‘a’或‘e’或‘i’等
谢谢。
==
的操作顺序高于|
。
相等顺序的运算符从左到右求值
(有关完整订单,请参阅)
因此,curr==='a'| | | | | | | | | i'| | | | o'| | u'
相当于
(((curr=='a')|||'e')||'i')||'o')||'u')
可以简化为
curr==='a'?true:'e'
==
比|
具有更高的操作顺序。
相等顺序的运算符从左到右求值
(有关完整订单,请参阅)
因此,curr==='a'| | | | | | | | | i'| | | | o'| | u'
相当于
(((curr=='a')|||'e')||'i')||'o')||'u')
这可以简化为:
curr=='a'?true:'e'
就像数学有一个运算顺序(加/减之前的乘法/除法),(curr=='a'| | | | | | | | | | | | | | | | | | | | | | | 124
,最高优先级是===
,因此它从比较curr==='a'
开始。这将导致true
或false
。让我们假设false
接下来是所有的|
。这些都是从左到右进行的,因此它比较false | | e'
。除了空字符串外,每个字符串都是“truthy”,因此false | | e'
也是truthy
它将继续向右移动,除非逻辑OR运算符在结果得到保证后会短路。因此,整个表达式是真实的
即使
| |
具有更高的优先级,它也不会起作用。对于'a'| | e'
,这两个值都是“真实的”,因此它只需要第一个真实值,即a
。这会重复,意思是'a'| e'|'i'| o'| u'
是一种复杂的表达方式
console.log('a'||'e'|'i'|'o'|'u')
就像数学有一个运算顺序(加法/减法之前的乘法/除法)一样,最高优先级是===
,因此它从比较curr==='a'
开始。这将导致true
或false
。让我们假设false
接下来是所有的|
。这些都是从左到右进行的,因此它比较false | | e'
。除了空字符串外,每个字符串都是“truthy”,因此false | | e'
也是truthy
它将继续向右移动,除非逻辑OR运算符在结果得到保证后会短路。因此,整个表达式是真实的
即使
| |
具有更高的优先级,它也不会起作用。对于'a'| | e'
,这两个值都是“真实的”,因此它只需要第一个真实值,即a
。这会重复,意思是'a'| e'|'i'| o'| u'
是一种复杂的表达方式
console.log('a'| | e'| | i'| | o'| | | u')
>“因此整个表达式是true
。“--这当然是真实的,但我认为重要的是要注意,|
链返回的第一个值是真实的,而不是true
本身,因此在本例中,整个表达式是'e'
,这是真实的(假设curr='b'
或其他)。足够公平。更新。”所以整个表达式是真的
。“--这当然是真实的,但我认为重要的是要注意,|
链返回的第一个值是真实的,而不是true
本身,因此在本例中,整个表达式是'e'
,这是真实的(假设curr='b'
或其他)。足够公平。更新。