More Help

Working with Apache CouchDB’s JavaScript environment is a lot different than
working with traditional JavaScript development environments. Here are some
tips and tricks that will ease the difficulty.

Remember that CouchDB’s JavaScript engine is old, only supporting the
ECMA-262 5th edition (“ES5”) of the language. ES6/2015 and newer constructs
cannot be used.

Fortunately, there are many tools available for transpiling modern JavaScript
into code compatible with older JS engines. The Babel Project website, for example, offers an in-browser text editor
which transpiles JavaScript in real-time. Configuring CouchDB-compatibility
is as easy as enabling the ENVPRESET option, and typing “firefox 4.0”
into the Browsers field.

The log() function will log output to the CouchDB log file or stream.
You can log strings, objects, and arrays directly, without first converting
to JSON. Use this in conjunction with a local CouchDB instance for best
results.

Be sure to guard all document accesses to avoid exceptions when fields
or subfields are missing: if(doc&&doc.myarray&&doc.myarray.length)...