gpt4 book ai didi

javascript - 表达式 JavaScript 的奇怪行为

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:59:49 26 4
gpt4 key购买 nike

有人可以向我解释为什么会这样吗?如果有人知道此行为名称,请编辑标题。

使用这段代码:

 const arr = ['RIPA'], varB = "RIPB";
let _params;
_params && Array.isArray(_params) ? arr.push(..._params) :
arr.push(_params);

_params && console.log("I will never appear");
varB && console.log("I will appear");

arr.push(varB);
console.log('array',arr);
console.log("Type of the _params --> ", typeof _params);

输出:

array [ 'RIPA', undefined, 'RIPB' ]
Type of the _params --> undefined

jsBIN: https://jsbin.com/bawepasivo/edit?js,console
复制它: https://repl.it/GaHX

如果 _paramsundefined,如果 && 表达式返回第一个 false 和最后一个 false,那么执行第二个表达式的可能性有多大值得信赖的值(value)。

最佳答案

你的表达式是这样执行的:

(_params && Array.isArray(_params)) ? arr.push(..._params) : arr.push(_params);

但你的意思可能是这样的:

_params && (Array.isArray(_params) ? arr.push(..._params) : arr.push(_params));

您只需添加括号即可。

关于javascript - 表达式 JavaScript 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42973378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com