<p>I've always handled optional parameters in JavaScript like this:</p>

<pre><code>function myFunc(requiredArg, optionalArg){
  optionalArg = optionalArg || 'defaultValue';

  // Do stuff
}
</code></pre>

<p>Is there a better way to do it?</p>

<p>Are there any cases where using <code>||</code> like that is going to fail?</p>

Your logic fails if optionalArg is passed, but evaluates as false - try this as an alternative
```
```
if (typeof optionalArg === 'undefined') { optionalArg = 'default'; }
```
```
Or an alternative idiom:
```
```
optionalArg = (typeof optionalArg === 'undefined') ? 'default' : optionalArg;
```
```
Use whichever idiom communicates the intent best to you!