Require Function Parameters
Being able to set default values for function arguments was an awesome addition to JavaScript, but check out this trick for requiring values be passed for a given argument:
const isRequired = () => { throw new Error(‘param is required’); };
const hello = (name = isRequired()) => { console.log(hello ${name}
) };
// This will throw an error because no name is provided
hello();
// This will also throw an error
hello(undefined);
// These are good!
hello(null);
hello(‘David’);
That’s some next level validation and JavaScript usage!
Get Query String Parameters
For years we wrote gross regular expressions to get query string values but those days are gone – enter the amazing URLSearchParams API:
// Assuming “?post=1234&action=edit”
var urlParams = new URLSearchParams(window.location.search);
console.log(urlParams.has(‘post’)); // true
console.log(urlParams.get(‘action’)); // “edit”
console.log(urlParams.getAll(‘action’)); // [“edit”]
console.log(urlParams.toString()); // “?post=1234&action=edit”
console.log(urlParams.append(‘active’, ‘1’)); // “?post=1234&action=edit&active=1”
Much easier than we used to fight with!
原文连接: