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)
归档时间: |
|
查看次数: |
135473 次 |
最近记录: |