For example, JavaScript default args are really helpful for avoiding type errors:
const nameString = (name = {}) => { return `${name.first} ${name.last}`; };
Here, because I set a default expected type (technically speaking), I get back an empty string without runtime errors. If I get an empty string during dev in my UI, I know to go handle the case, or, write a test to call my attention to the problem (often unnecessary because the "bug" is a design issue).