forked from krambertech/react-essential-course
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path05-function-arguments.js
43 lines (33 loc) · 1.11 KB
/
05-function-arguments.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
42
'use strict';
// аргументы по умолчанию
{
let sayHello = function(name = 'Everyone') {
console.log(`Hello ${name}!`);
}
sayHello(); // Hello Everyone!
sayHello('Vasya'); // Hello Vasya!
}
// spread для аргументов
{
let sayHello = function(...people) {
console.log(`Hello ${people.join(', ')}!`);
}
sayHello('Katya', 'Vasya', 'Andrew'); // Hello Katya, Vasya, Andrew
}
// также spread можно использовать при выхове функции
{
let numbers = [1, 5, 7, 10, 3, 9, 16];
let max = Math.max(...numbers);
console.log(max); // 16
}
// использование параметров по умолчанияю и деструктуризации для аргументов функции
{
let describePerson = function({ name = 'Noname', age = 0, city = 'Nowhere'}) {
console.log(`Hello from ${city}! My name is ${name}, I am ${age} years old.`)
}
let me = {
name: 'Katya',
age: 20
}
describePerson(me); // Hello from Nowhere! My name is Katya, I am 20 years old.
}