Functional Programming: A philosophy of coding that limits changes to data and favors mathematical evaluation.
Pure Function: A deterministic function (where only the arguments vary between given evaluations) that does not modify other data. As they do not have dependencies that can change or break, these functions are then simpler to test, more reliable, and more portable.
Immutability: The unchanging nature of a given set of data. The principle of immutability in functional programming relies on the creation of new objects with given values relative to the existing data of interest.
Referential Transparency: The consistency of a function to give a certain output from a respective input, and thus allowing easy recognition/replacement of the function-argument pair with the resulting value. This allows for constants to substitute in for some future function calls.
Modules: Distinct sets of code that can be called upon as needed, allowing for cleaner and more intuitive code bases.
require
: Global Node JS function that takes JavaScript files as arguments. Note: this only alows importing of code that has been explicitly exported with module.exports =
. For example: invoking JS objects defined in other JS files.