Skip to content

Archives

  • Leden 2022
  • Prosinec 2021
  • Listopad 2021
  • Říjen 2021
  • Září 2021

Categories

  • Žádné rubriky
Trend RepositoryArticles and guides
Articles

Šipkové funkce v Javascriptu

On 20 listopadu, 2021 by admin

© Mandeep Kaur

Šipkové funkce – nazývané také „tlusté šipky“, jsou relativně novým způsobem zápisu stručných funkcí v jazyce JavaScript. Byly zavedeny specifikací ECMAScript 6 a od té doby se staly nejpopulárnější funkcí ES6. Šipkové funkce nám umožňují používat operátor tlusté šipky => k rychlému definování funkcí jazyka JavaScript s parametry nebo bez nich. Při vytváření nové funkce jazyka JavaScript můžeme vynechat kudrnaté závorky a klíčová slova function a return a zapsat tak kratší syntaxi funkce. Nejenže šetří čas, ale také vytvářejí čisté a čitelnější funkce.

V tomto článku se podíváme na několik reálných scénářů vytváření šipkových funkcí – pomocí zápisu ES6 versus staršího zápisu ECMAScript 5, abychom viděli, jak si obě syntaxe vzájemně odpovídají.

Nejjednodušší syntaxe šipkové funkce je, když funkce nemá žádné parametry. V následujícím příkladu syntaxe ECMAScript 5 deklaruje funkční výraz a přiřazuje jej proměnné birthday. Na konzolu vypíše jednoduchý textový řetězec s textem „Všechno nejlepší k narozeninám!“:

ES5 syntaxe bez parametrů

V syntaxi šipkové funkce zmizí kudrnaté závorky a klíčová slova function a return. Nyní celá funkce zabírá pouze jeden jediný řádek. Prázdné závorky naznačují, že funkce nemá žádné parametry, a tlustá šipka váže tělo funkce na (momentálně neexistující) parametry:

ES6 syntaxe bez parametrů
  • Jeden parametr
  • Dva parametry
  • Objektové literály
  • Manipulace s poli
  • Kdy nepoužívat šipkové funkce
  • Závěr

Jeden parametr

Rozšíříme předchozí příklad o jeden parametr, konkrétně jméno. Stará syntaxe ES5 přijímá jeden parametr a jeho hodnotu připojuje k řetězci, který má být vrácen:

Syntaxe ES5 s jedním parametrem

Syntaxe funkce arrow dělá v podstatě totéž. Musíme uzavřít název parametru do závorek před tlustou šipkou a vynechat klíčové slovo return v bloku funkce:

ES6 syntaxe s jedním parametrem

Dva parametry

Můžeme použít šipkové funkce s libovolným počtem parametrů. Zde je například stejný příklad se dvěma parametry, věkem a jménem. Nyní funkce birthday() vyžaduje dva vstupy, aby vrátila řetězec. Nejprve použijme ECMAScript 5:

Syntaxe ES5 se dvěma parametry

A zde je stejný kód s novým zápisem ES6:

ES6 syntaxe se dvěma parametry

Objektové literály

Syntaxi šipkové funkce můžeme použít také k deklaraci setterových funkcí, které umožňují uživatelům nastavit hodnotu objektových literálů. Níže uvedená funkce setBirthday() umožňuje uživatelům nastavit jméno a věk osoby, která má narozeniny:

Objektový literál setter se syntaxí ES5

Při použití notace funkce arrow stačí k definování stejné funkce setter pouze jeden řádek:

Object literal setter with ES6 syntax

Manipulace s poli

Šipkové funkce můžeme použít také k manipulaci s poli jazyka JavaScript. Podívejme se například na pole persons, které obsahuje tři objektové literály, z nichž každý má vlastnost jméno a věk:

Pole osob, které obsahuje tři objektové literály, z nichž každý má vlastnost jméno a věk

Vestavěná metoda map() jazyka JavaScript nám umožňuje volat stejnou funkci na každý prvek pole. Pomocí tradičního zápisu ES5 můžeme vrátit vlastnost jméno každé osoby následujícím způsobem:

Manipulace s polem pomocí syntaxe ES5

Pomocí zápisu funkce arrow můžeme stejnou úlohu provést na jednom řádku:

Manipulace s polem se syntaxí ES6

Kdy nepoužívat šipkové funkce

Ačkoli mají šipkové funkce mnoho případů použití, přicházejí s nimi i některá omezení. Existují některé scénáře, kdy syntaxi šipkových funkcí nemůžeme nebo bychom neměli používat.

Nejdůležitější je, že pomocí šipkových funkcí nemůžeme vytvářet konstruktory. Pokud použijeme klíčové slovo new společně se syntaxí tlusté šipky, konzola vyhodí chybu. K tomu dochází proto, že JavaScript zachází se šipkovými funkcemi stejně jako s metodami objektů. V důsledku toho nemohou mít vlastní metody, což by byla základní vlastnost objektů JavaScriptu. Kromě toho nemůžeme použít syntaxi ES6 k deklaraci objektových literálů a zpětných funkcí obsahujících metody využívající klíčové slovo this, protože šipkové funkce s ním zacházejí jiným způsobem.

Závěr

Šipkové funkce poskytují vývojářům užitečnou zkratku pro zápis funkčních výrazů v jazyce JavaScript. Syntaxe tlustých šipek má mnoho případů použití, takže se rychle stala oblíbenou funkcí ES6 v komunitě uživatelů jazyka JavaScript. Při důsledném používání může nový kompaktní zápis ušetřit spoustu času a šířky pásma a zlepšit čitelnost kódu.

Děkujeme, že jste si přečetli článek.

Napsat komentář Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Archivy

  • Leden 2022
  • Prosinec 2021
  • Listopad 2021
  • Říjen 2021
  • Září 2021

Základní informace

  • Přihlásit se
  • Zdroj kanálů (příspěvky)
  • Kanál komentářů
  • Česká lokalizace
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress