
Урок 04 · 11 хв
Функції
Ім'я для шматка роботи. Далі в JS майже все — функції.
Функція дає ім'я шматку роботи, щоб не копіювати його по файлу. Далі на функціях тримається все: обробник кліку, колбек у map, запит до сервера.
Оголошення через function доступне в усьому файлі, навіть вище в коді. Стрілка, записана в const, працює лише після свого рядка. Друга різниця важливіша: у стрілки немає власного this, вона бере його з навколишнього коду — для колбеків і обробників це зазвичай плюс.
Параметри
Значення за замовчуванням підставляється, коли аргумент дорівнює undefined — зокрема коли його не передали взагалі. null таким значенням не вважається: greet("Ada", null) поверне "null, Ada!". Якщо хочеш підстановку і для null, пиши ?? усередині функції.
Область видимості
Змінна видима всередині блоку { }, де оголошена, і в усіх вкладених блоках. Назовні — ні. Тому функція спокійно читає зовнішні константи, а зовнішній код її нутрощів не бачить.
- MDN · Функції — оголошення, виклики, замикання
- MDN · Стрілкові функції — короткий запис і відсутність власного this
- MDN · Параметри за замовчуванням — коли підставляється значення
- MDN · Залишкові параметри —
...numsзбирає аргументи в масив
Перевірка
Закріпи, поки не пішов далі
1. Що поверне
const f = (n) => { n * 2; }; f(4)?2.
function greet(who, greeting = "Привіт"). Що повернеgreet("Ada", null)?3. Чи видно ззовні змінну, оголошену всередині функції?
4. Яка функція вважається чистою?