-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.js
41 lines (33 loc) · 1.19 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
(function(context) {
function greetWithoutDefaultParams(name, language) {
switch(language || 'en') {
case 'en': console.log(`Hello ${name}`); break;
case 'es': console.log(`Hola ${name}`); break;
}
}
function greetWithoutDefaultParamsCheckWithArguments(name, language) {
// example of strict check
if (arguments.length < 2) return;
switch(language) {
case 'en': console.log(`Hello ${name}`); break;
case 'es': console.log(`Hola ${name}`); break;
}
}
// function accepts param language with default value 'en'
function greetWithDefaultParams(name, language = 'en') {
switch(language) {
case 'en': console.log(`Hello ${name}`); break;
case 'es': console.log(`Hola ${name}`); break;
}
}
function demo() {
console.log('\n\nDEFAULT PARAMS');
greetWithDefaultParams('John Doe');
greetWithDefaultParams('John Doe', 'es');
greetWithoutDefaultParams('James Bond');
greetWithoutDefaultParams('James Bond', 'es');
greetWithoutDefaultParamsCheckWithArguments('John Wick');
greetWithoutDefaultParamsCheckWithArguments('John Wick', 'es');
};
(context || this).demoLibs['default-params'] = demo;
})(window);