Ell*_*lle 41 javascript shorthand
我想知道是否有更短的方式来写这个:
var x = 1;
if(y != undefined) x = y;
Run Code Online (Sandbox Code Playgroud)
我最初尝试过x = y || 1,但那没用.什么是正确的方法去做?
Amb*_*ber 88
var x = y !== undefined ? y : 1;
Run Code Online (Sandbox Code Playgroud)
请注意,var x = y || 1;将分配1任何情况下y是falsy(例如false,0,""),这可能是为什么它为你"没有工作".此外,如果y是一个全局变量,如果它确实没有定义,你可能会遇到错误,除非你访问它window.y.
正如vol7ron在评论中建议的那样,您还可以使用typeof以避免将全局变量引用为window.<name>:
var x = typeof y != "undefined" ? y : 1;
Run Code Online (Sandbox Code Playgroud)
小智 18
另一种写作方式
bePlanVar = !!((bePlanVar == false));
// is equivalent to
bePlanVar = (bePlanVar == false) ? true : false;
// and
if (bePlanVar == false) {
bePlanVar = true;
} else {
bePlanVar = false;
}
Run Code Online (Sandbox Code Playgroud)