aaac7fed
liuqimichale
add
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# defined
return the first argument that is `!== undefined`
[](http://ci.testling.com/substack/defined)
[](http://travis-ci.org/substack/defined)
Most of the time when I chain together `||`s, I actually just want the first
item that is not `undefined`, not the first non-falsy item.
This module is like the defined-or (`//`) operator in perl 5.10+.
# example
``` js
var defined = require('defined');
var opts = { y : false, w : 4 };
var x = defined(opts.x, opts.y, opts.w, 100);
console.log(x);
```
```
$ node example/defined.js
false
```
The return value is `false` because `false` is the first item that is
`!== undefined`.
# methods
``` js
var defined = require('defined')
```
## var x = defined(a, b, c...)
Return the first item in the argument list `a, b, c...` that is `!== undefined`.
If all the items are `=== undefined`, return undefined.
# install
With [npm](https://npmjs.org) do:
```
npm install defined
```
# license
MIT
|