我希望缩短这段代码。
const variableName = variableName === 0 ? 1 : variableName;
是否可以仅使用一种情况下的变量名来重写它,如下所示:
const variableName = variableName | 1?
最佳答案
从技术上讲,const variableName = variableName | 1
无效,因为您不能重新声明已经声明的variableName
(在严格模式下,您不能引用它不知道在当前作用域中是否已经声明了它)。
出现了很多的模式是
function test(variableName) {
variableName = variableName | 1;
// do something with variableName
}
或者
//not supported in IE, but might be useful if code is passed through a build step,
//or IE support is not important.
function default(variableName = 1) {
// do something with variableName
}
要么
function constVersion(variableName) {
const constName = variableName | 1;
//do something with constName
}
只要注意等效地对待所有
variableName
的'false-y'值即可。关于javascript - 是否可以有条件地在JavaScript中分配值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54007042/