Javascript 我该如何理解这句话?有人能详细说明一下吗?

Javascript 我该如何理解这句话?有人能详细说明一下吗?,javascript,Javascript,我知道这是一个三元运算符,但是categoryId==''&&location.pathname.match(regExp)在这里做什么?尤其是在''&&location.pathname.match(regExp) 这是一个布尔值吗?因此,我将带您仔细阅读您提供的代码,尽我现在的空闲时间所能,并从头开始 categoryId是一个接受右侧结果的变量。因此,=符号 categoryId==='这部分只是将categoryId中的结果与返回布尔值的空字符串'进行比较。所以它的意思是“categor

我知道这是一个三元运算符,但是
categoryId==''&&location.pathname.match(regExp)
在这里做什么?尤其是在
''&&location.pathname.match(regExp)

这是一个布尔值吗?

因此,我将带您仔细阅读您提供的代码,尽我现在的空闲时间所能,并从头开始

categoryId
是一个接受右侧结果的变量。因此,
=
符号

categoryId==='
这部分只是将
categoryId
中的结果与返回布尔值的空字符串
'
进行比较。所以它的意思是“categoryId中的结果是空字符串吗?
true
还是
false

&&
这是说我们将在条件下进行检查,因此请检查上述各项

location.pathname.match(regExp)
这是第二次检查…检查url路径是否与
regExp
中的某个regex定义/条件匹配(您没有提供,因此我不能在这里说太多)

现在请注意,由于使用了
&&
,在运行
true
语句之前,这两个条件都必须返回
true
,否则将返回
false

这是说;如果为true,则运行下一个条件/语句

location.pathname.match(regExp)[1]
这是如果结果为真,它将运行的条件/语句

这意味着如果为false,则运行下一个条件/语句

categoryId
这是结果为false时要运行的条件

这种类型的条件语句称为“条件/三元运算符”,请在此处查找更多详细信息:


我希望这能有所帮助。如果不清楚,请让我知道,以便我澄清。最好的学习方法!

这能回答您的问题吗?然后您应该看看文档和显式分组括号,更常规的间距可能会有所帮助:
categoryId=((categoryId==“”)和&(location.pathname.match(regExp))?location.pathname.match(regExp)[1]:categoryId
“因此,我将在我现在的空闲时间允许的范围内,从我的头顶上,带您详细阅读您提供的代码。“-这与答案有什么关系?只是让他知道我正在运行整个代码。如果你认为这与问题无关,请随意编辑。团队合作让梦想成真!
categoryId = categoryId === '' && location.pathname.match(regExp) ?location.pathname.match(regExp)[1] : categoryId