Функції стрілок у JavaScript

Що таке функція стрілки?

Функція стрілки {()=>} це стислий спосіб написання функцій 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 і вище