Що таке функція стрілки?
Функція стрілки {()=>} це стислий спосіб написання функцій JavaScript коротшим способом. Функції стрілок були представлені у версії ES6. Вони роблять наш код більш структурованим і читабельним.
Функції стрілок є анонімними функціями, тобто функціями без імені, але вони часто призначаються будь-якій змінній. Їх ще називають Лямбда-функції .
Синтаксис:
const gfg = () =>{ console.log( 'Hi Geek!' ); }>
Наведені нижче приклади показують роботу функцій Arrow у JavaScript.
Функція стрілка без параметрів
Javascript const gfg = () =>{ console.log( 'Привіт від GeekforGeeks!' ); } gfg();>
Вихід
Hi from GeekforGeeks!>
Функція стрілки з параметрами
Javascript const gfg = ( x, y, z ) =>{ console.log( x + y + z ) } gfg( 10, 20, 30);>
Вихід
60>
Функція стрілки з параметрами за замовчуванням
Javascript const gfg = ( x, y, z = 30 ) =>{ console.log( x + ' ' + y + ' ' + z); } gfg( 10, 20 );>
Вихід
10 20 30>
Функції зі стрілками можуть бути асинхронними, додавши перед виразом ключове слово async.
async param =>вираз async (param1, param2, ...paramN) => { оператори }>
Переваги стрілочних функцій
- Функції зі стрілками зменшують розмір коду.
- Інструкція return і функціональні дужки є необов’язковими для однорядкових функцій.
- Це підвищує читабельність коду.
- Стрілочні функції забезпечують лексичне зв'язування. Це означає, що вони успадковують значення цього з охоплюючої області. Ця функція може бути корисною під час роботи із слухачами подій або функціями зворотного виклику, де значення цього може бути невизначеним.
Обмеження функцій стрілок
- Стрілочні функції не мають властивості прототипу.
- Функції зі стрілками не можна використовувати з ключовим словом new.
- Функції зі стрілками не можна використовувати як конструктори.
- Ці функції є анонімними, тому їх важко налагодити.
- Функції зі стрілками не можна використовувати як функції-генератори, які використовують ключове слово yield для повернення кількох значень з часом.
Підтримувані браузери
- Chrome 45 і вище
- Край 12 і вище
- Firefox 22 і вище
- Opera 32 і вище
- Safari 10 і вище