That key is a JavaScript `null` object, which is equivalent to a JSON `null`. In Objective-C you would express that as an NSNull object, i.e. `[NSNull null]`.
JavaScript is weird: its `null` is a real value. It's not the same thing as an Objective-C `nil` (or a Java or C# `null`, or a C `NULL`) — those are all equivalent to JavaScript’s `undefined`.
In this map function the `null` is just being used as a placeholder because the developer doesn’t care what order the values should be in, so it gives them all the same key. It actually doesn’t matter what key you use here; you could put `0` or an empty string, or even 12345 or “foobar”.
If you find yourself creating multiple views like this but with different document type strings, a better way to do it is to emit doc.type as the key, and emit it for all docs that have a `type` property. This gives you a single view that can be used to find docs of all types, not just ‘customer’.
—Jens