Версія ES6 TypeScript надає функцію стрілки, яка є скорочення синтаксис для визначення анонімної функції, тобто для виразів функції. Він пропускає ключове слово функції. Ми можемо назвати її жирною стрілкою (оскільки -> тонка стрілка, а => це ' жиру ' стрілка). Його також називають a Лямбда-функція . Функція стрілки має лексичний діапазон ' це ключове слово.
Мотивація функції стрілки:
- Коли нам не потрібно продовжувати вводити функцію.
- Він лексично передає значення цього ключового слова.
- Він лексично передає значення аргументів.
Синтаксис
Ми можемо розділити синтаксис функції Arrow на три частини:
(parameter1, parameter2, ..., parameterN) => expression;
Якщо ми використовуємо жирна стріла (=>) нотації, немає необхідності використовувати функція ключове слово. Параметри передаються в дужках (), а вираз функції укладається у фігурні дужки {}.
Існує два способи написання функції в стилі кодування ES5 і ES6.
// ES5: Without arrow function var getResult = function(username, points) { return username + ' scored ' + points + ' points!'; }; // ES6: With arrow function var getResult = (username: string, points: number): string => { return `${ username } scored ${ points } points!`; }
Функція стрілка з параметром
Наступна програма є прикладом функції стрілки з параметрами.
let sum = (a: number, b: number): number => { return a + b; } console.log(sum(20, 30)); //returns 50
У наведеному вище прикладі сума є стрілочною функцією, ' a: число, b: число ' є типом параметра, ' : номер ' є типом повернення, стрілка => розділяє параметр функції та тіло функції.
Після компіляції наведеної вище програми TypeScript відповідний код JavaScript виглядає так:
let sum = (a, b) => { return a + b; }; console.log(sum(20, 30)); //returns 50
Вихід:
Функція стрілка без параметра
Наступна програма є прикладом функції стрілки без параметрів.
let Print = () => console.log('Hello JavaTpoint!'); Print();
Вихід:
У функції зі стрілкою, якщо тіло функції складається лише з одного оператора, тоді немає потреби у фігурних дужках і ключовому слові return. Ми можемо це зрозуміти з наведеного нижче прикладу.
let sum = (a: number, b: number) => a + b; console.log('SUM: ' +sum(5, 15));
Вихід:
Функція стрілка в класі
Ми можемо включити функцію стрілки як властивість у клас. Наступний приклад допомагає зрозуміти це більш чітко.
class Student { studCode: number; studName: string; constructor(code: number, name: string) { this.studName = name; this.studCode = code; } showDetail = () => console.log('Student Code: ' + this.studCode + ' Student Name: ' + this.studName) } let stud = new Student(101, 'Abhishek Mishra'); stud.showDetail();
Вихід: