Advanced function arguments
It's fairly common when defining functions to find that your code will be easiest to use if you offer some flexibility in your function signatures—particularly in the arguments that are passed to a function. Some arguments to a function may be optional, and it's nice to let your caller pass only the information that is relevant to that specific invocation of the function.
Most modern programming languages offer some way to achieve this. JavaScript is no exception, though its mechanisms for doing so are slightly arcane. If you have ever wanted to allow an optional argument in JavaScript, you may have written some code like this to do it:
/* * formatTemperature(degrees, scale='K') */ function formatTemperature(degrees, scale) { if (typeof scale === "undefined") { scale = "K"; } var formatted = degrees.toFixed(1); formatted += (scale.toUpperCase() === 'K') ? " " : "°"; return formatted + scale.toUpperCase(); } console.log(formatTemperature(22, "C")...