What would be the most idiomatic way to do the following in JavaScript:
If myParam is not passed into MyFunc by the caller, then I want to set it to a default value.  But first I want to try and get it from another object, which may not yet exist:
function MyFunc(myParam) {
    if (!myParam) {
        if (!myObj) {
            myParam = 10;
        }
        else {
            myParam = myObj.myParam;
        }
    }
 
    alert(myParam);
}
I started to write:
myParam = myParam || myObj.mParam || 10
but realized that if myObj does not exist then this would fail.  I might guess the following:
myParam = myParam || (myObj && myObj.mParam) || 10
It might even work. But is it the best way?
How would, for example, John Resig do it?
 
     
     
    