logo

Функција стрелице ТипеСцрипт

ЕС6 верзија ТипеСцрипт-а пружа функцију стрелице која је стенографија синтаксу за дефинисање анонимне функције, односно за изразе функције. Изоставља кључну реч функције. Можемо је назвати дебела стрелица (јер је -> танка стрелица и => је ' дебео ' стрелац). Такође се назива а Ламбда функција . Функција стрелице има лексички опсег од ' ово ' кључна реч.

Мотивација за функцију стрелице је:

  • Када не треба да куцамо функцију.
  • Лексички обухвата значење ове кључне речи.
  • Лексички обухвата значење аргумената.

Синтакса

Синтаксу функције стрелице можемо поделити на три дела:

    Параметри:Функција може, али и не мора имати параметре.Ознака стрелице/ламбда нотација(=>)Изјаве:Представља скуп инструкција функције.
 (parameter1, parameter2, ..., parameterN) => expression; 

Ако користимо дебела стрелица (=>) нотације, нема потребе да се користи функција кључна реч. Параметри се прослеђују у заградама (), а израз функције је затворен у витичасте заграде {}.

Постоје два начина писања функције у ЕС5 и ЕС6 стилу кодирања.

колико има филмова о немогућој мисији
 // 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 

У горњем примеру, сума је функција стрелице, ' а: број, б: број ' је тип параметра,' : број ' је тип повратка, ознака стрелице => раздваја параметар функције и тело функције.

Након компајлирања горњег програма ТипеСцрипт, одговарајући ЈаваСцрипт код је:

вук против лисице
 let sum = (a, b) => { return a + b; }; console.log(sum(20, 30)); //returns 50 

Излаз:

Функција стрелице ТипеСцрипт

Функција стрелице без параметра

Следећи програм је пример функције стрелице без параметара.

 let Print = () => console.log('Hello JavaTpoint!'); Print(); 

Излаз:

Функција стрелице ТипеСцрипт

У функцији стрелице, ако се тело функције састоји од само једне наредбе, тада нису потребне витичасте заграде и кључна реч ретурн. То можемо разумети из примера у наставку.

 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(); 

Излаз:

Функција стрелице ТипеСцрипт