Datové typy javascriptu: základní pojmy, validace, transformace

Pokud programátor pracoval s jazyky jako C # nebo Java, ví, že deklarace proměnné vyžaduje nastavení statistického datového typu, který bude uložen v zadané proměnné od začátku. Pokud potřebujete změnit hodnotu zadané proměnné na jiný typ, systém vyvolá chybu. Na rozdíl od nich má JavaScript dynamický datový typ a není třeba specifikovat, jaký typ bude tato proměnná ukládat, protože během procesu provádění kontextu se JS pokusí vyřešit problém podle zadaných hodnot.

Základy dat v JavaScriptu

Základy dat v JavaScriptu

Data JS jsou rozdělena do dvou skupin: primitivní a objekty. První zahrnuje textový řetězec( řetězec), booleovská data-pravdivá nebo nepravdivá (logická) a čísla (číslo). Existují další dva speciální primitivní typy: Null a Undefined. Vykazují vzájemně propojené neuspořádané datové typy JavaScriptu, které mají název a mají vlastnosti.

Objekt je speciálně vytvořen programátorem, mezi nimi jsou některé speciální: globální, prototyp, pole, funkce, třída, předdefinované třídy JS, Třída RegExp pro správu regulárních výrazů a vyhledávání vzorů v textu, třída chyb pro skladování informace související s chybami. První programovací jazyky nepoužívaly objekty, pouze proměnné.

Proměnné jsou paměťovým prostorem počítače, kterému vývojáři přiřazují obsah hlavně číselnou hodnotou, typem znaku nebo řetězcem znaku - alfanumerickou hodnotou složenou pouze z textu smíchaného s čísly. Jako příklad datového typu JavaScriptu lze definovat proměnnou "a", která obsahuje 32, a zapsat ji jako:

a = 32.

Pak můžete změnit hodnotu " a " a udělat:

a = 78.

Nebo udělejte " a "ekvivalentní hodnotě jiné proměnné "B", například:

a = b,

Proměnné jsou elementární objekty: číslo, symbol, true nebo false hodnota, zatímco, jako objekty jsou složité, které mohou být tvořeny velkým množstvím informací. Obě formy však zabírají stejný paměťový prostor, který může být víceméně velký.

Primitivní typy

Primitivní typy

Na rozdíl od objektů, primitivní datové typy JavaScriptu nejsou referenční, to znamená, když dělat přiřazení hodnoty z jiné proměnné.

V JS existují takové primitivní typy:

  • logický;
  • číselný;
  • řádkový;
  • nula;
  • nejistý.

Logické představují jeden z: "true" nebo "false".

  • var boo1 = true;
  • var boo2 = false;

JS má pouze jeden typ čísla, lze jej napsat s desetinnou čárkou nebo bez ní. Číslo se také stane:

  • +Infinity;
  • -Infinity;
  • NaN (ne číslo).

var num1 = 32;

var num2 = + Infinity;

Řádky se používají k ukládání textu. Musí být uvnitř dvojitých nebo jednoduchých uvozovek. V JS jsou řetězce neměnné.

var str1 = `Ahoj, to jsem já`;

var str2 = "Ahoj, to jsem já";

Proměnná, na které nezáleží, není definována.

var test Var;

console.log (testVar); / / nedefinováno

Boolean - je to Typ data vracející jednu ze dvou: true / false. Datový typ Javascript Boolean je pojmenován podle matematika George Boole, takže je vždy psán velkými písmeny. Lze prokázat princip práce tento typ na příkladu:

  1. Otevřete konzolu JS a zadejte každé z následujících prohlášení stisknutím klávesy "Enter" po každé akci zobrazíte výsledek.
  2. Upozorňujeme, že jednořádkový komentář se používá po každém příkazu k vysvětlení, co to znamená.
  3. 1<10 / / 1 méně než 10?
  4. 100> 2000 / / 100 více než 2000?
  5. 2 === 2 // 2 se přesně rovná 2?
  6. false === false //
Funkce Boolean

Funkce Boolean vrací booleovskou hodnotu proměnné. Lze jej také použít k nalezení logického výsledku podmínky a výrazu, což umožňuje JavaScriptu používat funkční datový typ.

Neměnné symboly

Symboly jsou nový primitivní typ v JS. Jsou vytvářeny pomocí funkce:

const mySymbol = Symbol(`mySymbol`).

Kdykoli programátor zavolá tuto funkci, vytvoří se nový a jedinečný znak. Mohou být použity jako konstanty k reprezentaci konceptů, jako jsou barvy. Znaky se většinou používají jako klíče vlastností a nikdy nejsou v konfliktu s žádným jiným klíčem-znakem nebo řetězcem. Například je možné, aby byl objekt iterativní, používaný prostřednictvím" for-of "smyčka a další jazykové mechanismy pomocí symbolu uloženého v" Symbol.iterator " jako klíč.

Neměnné symboly

V řetězci a se znak používá jako klíč metody. Díky tomuto jedinečnému tokenu je objekt opakovatelný a umožňuje použití "for-of" smyčka. Nelze přivést znaky na řetězce, protože existuje nátlak nebo implicitní převod datových typů JavaScriptu. Zákaz nátlaku zabraňuje některým chybám, ale také komplikuje práci se symboly.

Nový typ primitivu jsou tokeny, které slouží jako jedinečné identifikátory. Programátor vytváří znaky pomocí tovární funkce " Symbol ()", která je slabě podobná funkci "String" - návrat řetězců, když je vyvolána funkcí:

const symbol1 = Symbol();

Symbol () má volitelný parametr řetězce, který umožňuje dát nově vytvořenému znaku popis. Tento popis se používá, když je znak převeden na řetězec pomocí " toString () "nebo"String ()".

Aritmetický operátor

JS, stejně jako všechny softwarové jazyky, má vestavěnou schopnost matematických akcí, jako je kalkulačka. Provádějí je nad čísly nebo proměnnými, které jsou reprezentovány jako čísla.

Aritmetický operátor

Operátor sčítání reprezentovaný znaménkem plus ( + ) přidá dvě hodnoty a Vrátí součet.

var x = 2 + 2; // x returns 4

Operátor odčítání reprezentovaný znaménkem mínus ( - ) odečte dvě hodnoty a vrátí rozdíl.

var x = 10 - 7; // x returns 3

Operátor násobení představovaný hvězdičkou ( * ) vynásobí dvě hodnoty a vrátí produkt.

var x = 4 * 5; // x returns 20

Operátor dělení představovaný lomítkem ( / ) odděluje dvě hodnoty a vrací kvocient.

var x = 20 / 2; // x returns 10

Méně známý je operátor modulu, který vrací zbytek po dělení a je reprezentován znakem procenta (%).

var x = 10 % 3; // returns 1

To znamená, že "3" vstupuje do "10" třikrát, se " 1 " zbytkem.

Přírůstek provádí akci, ve které bude číslo zvýšeno o jednu pomocí operátoru přírůstku představovaného znaménkem dvojitého Plus (++).

var x = 10;x++; // x returns 11

K tomu dochází po přiřazení. Můžete také napsat, co se stane před přiřazením. Pro srovnání:

++x;

var x = 10;

var y = x++;

// y is 10, x is 11;

a také:

var x = 10;

var y = ++x;

// y is 11, x is 11.

Dekrementace-číslo bude sníženo o jednu pomocí dekrementačního příkazu představovaného dvojitým znaménkem mínus (--).

var x = 10;x--;

// x returns 9

Stejně jako výše, To lze také napsat:--x;

Odrůdy operátorů JS:

  • operátor přiřazení;
  • aritmetické operátory přírůstku a úbytku;
  • operátoři rovnosti;
  • relační operátoři;
  • logický operátor.

Funkce true nebo false

Srovnávací operátoři vyhodnotí rovnost nebo Rozdíl dvou hodnot a vrátí "true " nebo"false". Obvykle se používají v logických tvrzeních. Dvě znaménka rovnosti ( = = ) znamenají rovná se v JS. Pro začínající programátory je snadné zaměnit se mezi jednoduchými, dvojitými a trojitými znaménky rovnosti, musíte si pamatovat, že jedno znaménko rovnosti aplikuje hodnotu na proměnnou a nikdy nehodnotí rovnost.

var x = 8;

var y = 8;

x == y; // true

Jedná se o volný typ rovnosti a vrátí "true", i když se místo čísla použije řetězec.

var x = 8;

var y = "8";

x == y; // true

Tři znaménka rovnosti ( = = = ) znamenají přísnou rovnost v JS.

var x = 8;

var y = 8;

x === y; // true

Jedná se o běžně používanou a přesnější formu definice rovnosti než běžná funkce "equal ( = = )", protože návrat vyžaduje, aby typ a hodnota byly stejné true.

var x = 8;

var y = "8";

x === y; // false

Vykřičník následovaný znaménkem rovnosti (!= ), znamená, že se nerovná v JS. Je to přesný opak "= = " a bude zkontrolována pouze hodnota, nikoli typ.

var x = 50;

var y = 50;

x != y; // false

Vykřičník následovaný dvěma znaménky rovnosti (!= = ), znamená přísné ne stejné. Je to přesný opak ( = = = ) a zkontroluje hodnotu i typ. Další známý symbol, méně než (<), zkontroluje, zda je hodnota vlevo menší než hodnota vpravo. Menší nebo rovno (<= )- stejné jako výše, ale stejné bude mít také hodnotu"true". Více než (>) zkontroluje, zda je hodnota vlevo větší než hodnota vpravo. Význam větší nebo rovný (>= ), stejné jako výše, ale bude se také rovnat true.

Funkce

Dynamická kontrola typu

Datové typy a proměnné v jazyce JavaScript jsou základní programovací jazyk. Mnoho chyb provádění v JS jsou chyby typu. Například při pokusu o násobení "a number" na "A string" se zobrazí chyba ve formě" Not a Number " vrácené hodnoty. Někdy při volání funkce a dostat chybu "undefined is not a function", to se stane, když se snaží získat přístup k vlastnosti, která není definována. Vzhledem k tomu, JS nemůže najít vlastnost, vrátí jeho výchozí hodnotu do zálohy: undefined. Jiná běžná chyba, související s typem při pokusu o změnu nebo přístup k vlastnosti z hodnoty, která je null nebo undefined. Neexistují žádné konstruktory jako Undefined nebo Null.

Dynamická kontrola typu

Typový systém JS pomáhá vyhnout se těmto běžným chybám. Podle definice je to interpretovaný a dynamický jazyk a vyžaduje, aby typový systém fungoval za běhu kódu. Jazyk se také snaží pomoci tichým převodem typů hodnot. Změna typu nebo nátlak je důvodem, proč mnoho vývojářů přechází na přísné použití (===) ke kontrole rovnosti hodnot.

Dynamická kontrola datového typu JavaScript se provádí prostřednictvím knihovny TypeRight. Mezi další funkce používá přístup k implementaci následujících pseudotříd, jejichž jediným účelem je být pravými stranami instanceof operátora:

  • PrimitiveUndefined.
  • PrimitiveNull.
  • PrimitiveBoolean.
  • PrimitiveNumber.
  • PrimitiveString.
  • PrimitiveSymbol.

TypeRight aktuálně neposkytuje třídu pro ověření je hodnota objektem, ale lze ji snadno přidat.

Proměnné kontejnery

Proměnné v JS jsou kontejnery, které obsahují opakovaně použitelná data. Před ES2015 byly proměnné JavaScriptu deklarovány výhradně pomocí klíčového slova var:

  • var x;
  • var y;
  • var z;

Dnes jsou proměnné dány typy: var, let a const. Jsou svým způsobem jedinečné a slouží ke zvýšení efektivity vývoje kódu doporučuje se používat: let-pokud je to možné a const - kdykoli hodnota proměnné musí zůstat konstantní. Použití proměnných pro ukládání dat je základem jazyka a skládá se ze tří částí.

Deklarace proměnné - zde je proměnná zaregistrována v příslušném rozsahu. Příklady deklarací proměnných:

  • var x;
  • var cup;
  • var car.

K inicializaci dochází při deklaraci proměnné. Zde je přiřazena paměť nebo prostor pomocí JavaScriptu. Z tohoto důvodu, jakmile je proměnná deklarována, vezme hodnotu undefined i před přiřazením.

Přiřazení proměnné - je nejdůležitějším krokem při použití. Zde jsou proměnné přiřazena data, která jsou hodnotami pomocí operátoru přiřazení"=".

Hodnoty v JavaScriptu mají jeden ze standardních datových typů:

  • řádek;
  • počet;
  • logický;
  • nula;
  • nejistý.

Syntaxi pro přiřazení typů lze vidět výše pouze s řetězci, které mají jednoduché nebo dvojité uvozovky. Booleovské hodnoty mohou být také pravdivé nebo nepravdivé. Při pojmenování proměnných v JavaScriptu je třeba dodržovat určitá pravidla, a to:

  1. Jména by měla začínat malým písmenem.
  2. Názvy nemohou obsahovat znaky ani začínat znaky.
  3. Jména nemohou začínat číslem.
  4. Názvy mohou obsahovat kombinaci velkých písmen, malých písmen a číslic.
Proměnné kontejnery

Způsoby inicializace JS

Proměnná je inicializována, když je její obsah nebo hodnota nastavena poprvé. Například cena = 22,55 - může to být způsob inicializace proměnné. Může být deklarován a inicializován současně. Můžete například napsat proměnnou "cena = 22,55", se kterou byla proměnná deklarována a inicializována na jednom řádku. JS nevyžaduje deklaraci typu proměnné a dokonce umožňuje proměnné ukládat obsah různých typů v různých časech. Lze například použít "cena = 22,55", a na pozdějším místě napište cenu = "velmi drahé". To v jiných jazycích může způsobit chybu, ale JavaScript je přijat.

Způsoby inicializace JS

JS umožňuje použít proměnnou bez jejího deklarace. V mnoha programovací jazyk před použitím je nutné deklarovat proměnnou, ale JS nezavazuje. Když jazyk najde nevyhlášenou proměnnou, automaticky vytvoří proměnnou a povolí její použití.

Nesprávné použití klíčového slova "var" může způsobit chybu, která způsobí, že JS přestane fungovat, což znamená, že se webová stránka nezobrazí správně, var se používá pouze k deklaraci proměnné, nelze ji použít pro nic jiného. Jakmile je proměnná deklarována, bude použita bez klíčového slova var, které jí předchází. Pokud je proměnná již deklarována, JavaScript se pokusí pokračovat a získat ji.

Demonstrace práce

Je možné demonstrovat práci kódu za účelem konsolidace základních pojmů datových typů jazyka JavaScript, program přečte kód uvedený na obrázku a uložený v souboru rozšíření html.

Demonstrace typu práce

Po vykreslení výsledku se ujistí, že se webová stránka zobrazuje normálně, tj očekávaný výsledek měl by ukázat následující:

  1. Variabilní cena je platná: undefined (přijmout).
  2. Proměnná data1 je platná: null (přijmout).
  3. Variabilní cena je platná: 32,55 (přijmout).
  4. Dvojitá cena: 65,1 (přijmout).
  5. Částka získaná vynásobením ceny množstvím je: 325,5 (přijmout).
  6. Variabilní cena nyní: velmi drahé (přijmout).
  7. Dvojitá cena nyní: NaN (přijmout).
  8. Cenová proměnná byla oznámena podruhé a nyní je platná: 99,55 (přijmout).
  9. Proměnná $ discount_applied: 0,55 (přijmout).
Demonstrace práce

Pochopení toho, jak jazyk funguje, automaticky učiní vývojáře lepším programátorem. Ale vzhledem k tomu, že "praxe se zlepšuje", nestačí se naučit pouze teorii, je důležité začít uvádět do praxe základy databáze JavaScript a fungování dat. Po seznámení s výše uvedenými informacemi bude pro začínajícího programátora snadné odpovědět na otázku, kolik datových typů je v jazyce JavaScript.

Články na téma