Home >Web Front-end >JS Tutorial >js parameter object implements optional parameters and parameter default values
js parameter object implements optional parameters and parameter default values
The premise of omitting parameters is that the function can identify which parameter you want to pass in. The agreement
1. Omissible parameters are appended
2. After omitting parameters, they cannot be It creates ambiguity with other functions (js does not have this problem)
The program requires you to pass parameters in the order in which they are defined. If there is anything that is not passed on later, it will be omitted. If you want to omit the middle... Sorry, pass in null or undefined yourself.
For javascript, the parameter type can be identified by simple judgment to achieve the effect of omitting intermediate parameters, for example.
var set = function(name, date, age) { if (typeof date === "number") { age = date; date = undefined; } // .... }
Here it is simply identified by type. For more complex situations, you can use regular expressions to identify domain, url, email, etc., but it is more troublesome to say, and the code logic is complex and not easy to write.
When there are many parameters and some of them can be omitted, it is recommended to use parameter objects.
ES5 implements optional parameter object
var CookieUtil = { set: function(args) { var name = args.name; var value = args.value; var expires = args.expires; var path = args.path; var domain = args.domain; var secure = args.secure; // ... } } CookieUtil.set({ name: "name", value: "Nicholas", path: "/books/projs/", domain: "www.wrox.com", expires: new Date("January 1, 2010") });
ES6 implements optional parameter object - syntax sugar destructuring assignment
function doSome({a,b=2,c}){ console.log(a,b,c) } doSome({a:5,c:22}) // 5 2 22