javascript - Value variable as 0 not as false in shorthand-if expression -
i'm calling function in either 2 ways
foo([x,y])
or foo({x:x,y:y})
x,y ∈ [0,∞)
the foo function looks this
var x = pos.x || pos[0], y = pos.y || pos[1];
if call function second way x=0
pos.x
valuated false, leaves x=pos[0]
undefined
.
i wondered whether there way 0
not valuated false
in longhand method if(pos.x===0){/*...*/}
you need check if pos.x
exists, rather checking it's value. can hasownproperty
function:
var x = pos.hasownproperty('x') ? pos.x : pos[0];
Comments
Post a Comment