Šipkové funkce (ECMA6 arrow function)

Nejnovější prohlížeče podporující ECMAscript 6 (též zvané ES6 nebo ECMAScript 2015) přináší novou jednodušší možnost psaní funkcí.

Vzhledem k tomu, že nová syntaxe není zpětně kompatibilní se staršími prohlížeči, nemůžete ji snadno začít používat v JS souborech. A psát každou funkci dvakrát jen proto, že ji v jednom případě můžete napsat rychleji je dost kontraproduktivní.

Kde ji ale můžete začít používat hned, jsou servvery (NodeJS), moduly (<module>), Služby (Worker a Service Worker) a vývojářské nástroje (např. Debugger console), protože ta stačí vědět, že máte správnou verzi (Node, prohlížeč) a nebo jsou na ES6 přímo závislé (Workery a moduly).

Pokračování textu Šipkové funkce (ECMA6 arrow function)

Generátor dat (ECMA6 function* a yield)

Nová verze JavaScriptu (známá jako ECMAscript 6, ES6 nebo ECMAScript 2015) přináší nová klíčová slova function* a yield, které můžete použít pro tzv. Generátory.

Smysl generátoru je v tom, že funkce může při každém zavolání vrátit jinou hodnotu aniž by bylo potřeba si nějak pamatovat, jaká byla poslední vrácená hodnota. Funkce zpravidla vypadá tak, že uvnitř cyklu vracíte hodnotu pomocí yield a JS sám zajistí, že funkce bude fungovat jako generátor.

Pokračování textu Generátor dat (ECMA6 function* a yield)

Jak vytvářet generované funkce

jQuery a další frameworky často používají speciální techniku pro vytváření JavaScriptových funkcí, kdy, místo aby uváděli zdrojový kód pro každou funkci, nadefinují jména funkcí a obecný kód, který funguje pro všechny funkce.

Podívejme se podrobněji na výhody a nevýhody tohoto přístupu a postupy, jak ho použít k vlastnímu prospěchu.

Pokračování textu Jak vytvářet generované funkce

Méně známé typy inputů

Možná jste již řešili, jak pomocí JavaScriptu editovat a validovat input pro datum, email nebo URL. A pokud ano, jistě jste zjistili, že to není žádná sranda, trefit se správně do všech validačních pravidel a formátů.

A víte, že s HTML5 tahle nutnost odpadá, protože většina těchto typů inputů je již nativně podporována?

Pěkný přehled je na NativeFormElements.com/.

Pokračování textu Méně známé typy inputů

Když je IF moc dlouhý

Programátoři jsou příliš líní a napsat 6 znaků (IF(){}) potřebných pro vytvoření IF podmínky je často až příliš.

//správně
if (obj && obj.hasOwnProperty(value)) {
    return obj.value;
}

//kratší, ale může selhat
return obj.value

Ale skutečně je potřeba psát IF, nebo postačí nějaký chytrá konstrukce JavaScriptu, který je známý svou laxností k syntaxy?

Pokračování textu Když je IF moc dlouhý