Podatkovni tipi javascript: osnovni koncepti, potrjevanje, pretvorba

Če je programer delal z jeziki, kot sta C # ali Java, ve, da mora za deklaracijo spremenljivke že na začetku določiti statistično vrsto podatkov, ki bodo shranjeni v določeni spremenljivki. Če želite spremeniti vrednost določene spremenljivke v drugo vrsto, bo sistem ustvaril napako. Nasprotno pa ima JavaScript dinamično podatkovno vrsto in mu ni treba določiti, kakšno vrsto bo shranila spremenljivka, saj bo JS med izvajanjem poskušal rešiti problem v skladu z danimi vrednostmi.

Osnove podatkov v jeziku JavaScript

Osnove podatkov v javascriptu

Podatki JS so razdeljeni v dve skupini: primitivne in objekte. Prvi vključuje besedilni niz (String), logične podatke - true ali false (Logical) in številke (Number). Obstajata še dve posebni primitivni vrsti: Null in Undefined. To prikazuje povezane neurejene podatkovne vrste v jeziku JavaScript, poimenovane in z lastnostmi.

Objekt je posebej ustvarjen s strani programerja, med njimi je nekaj posebnih: global, prototip, polja, funkcije, razred, vnaprej določeni razredi JS, razred RegExp za upravljanje regularnih izrazov in iskanje vzorcev v besedilu, razred za napake za shranjevanje informacije o napakah. Prvi programski jeziki niso uporabljali predmetov, temveč le spremenljivke.

Spremenljivke so računalniški pomnilniški prostor, ki mu razvijalci dodelijo vsebino, predvsem s številčno vrednostjo, vrsto znaka ali nizom znakov - alfanumerično vrednostjo, sestavljeno samo iz besedila, pomešanega s številkami. Kot primer podatkovne vrste JavaScript lahko določite spremenljivko "a", ki vsebuje 32, in jo zapišete kot:

a = 32.

Nato lahko spremenite vrednost "a" in naredite:

a = 78.

Ali pa na primer spremenljivko "a" izenačite z vrednostjo druge spremenljivke "b":

a = b,

Spremenljivke so osnovni predmeti: število, simbol, resnična ali neresnična vrednost, medtem ko, kot predmeti so kompleksne in jih lahko oblikuje veliko informacij. Vendar obe obliki zasedata isti pomnilniški prostor, ki je lahko večji ali manjši.

Primitivne vrste

Primitivne vrste

V nasprotju z objekti primitivni podatkovni tipi JavaScript niso referenčni, kar pomeni, da pri dodeljevanju vrednosti iz druge spremenljivke.

Takšne primitivne vrste so v JS:

  • logično;
  • številčno;
  • male tiskane črke;
  • nič;
  • nedefinirano .

Logično predstavlja enega od: "Resnično" ali "lažno".

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

V JS obstaja samo ena vrsta števil, ki se lahko zapišejo z decimalno vejico ali brez nje. Številka je lahko tudi:

  • +Neskončnost;
  • -Neskončnost;
  • NaN(ni število).

var num1 = 32;

var num2 = + Neskončnost;

Vrstice se uporabljajo za shranjevanje besedila. Ti morajo biti znotraj dvojnih ali enojnih narekovajev. V JS so nizi nespremenljivi.

var str1 = `pozdravljeni, to sem jaz`;

var str2 = "Pozdravljeni, to sem jaz";

Spremenljivka, ki nima vrednosti, je nedefinirana.

var test Var;

konzola.log (testVar); // ni definirano

Boolean - to je tip podatkov in vrne eno od dveh možnosti: true/false. Podatkovni tip Boolean v JavaScriptu je poimenovan po matematiku Georgeu Booleu, zato ga vedno pišemo z veliko začetnico. Dokažete lahko načelo delovanja te vrste kot primer:

  1. Odprite konzolo JS in vnesite vsakega od naslednjih stavkov ter po vsakem dejanju pritisnite tipko "Enter", da si ogledate rezultat.
  2. Upoštevajte, da je za vsako izjavo uporabljen enovrstični komentar, ki pojasnjuje njen pomen.
  3. 1<10 // 1 je manj kot 10?
  4. 100> 2000 // 100 je več kot 2000?
  5. 2 === 2 // 2 je natanko tako kot 2?
  6. false === false //
Boolejeva funkcija

Funkcija Boolean vrne logično vrednost spremenljivke. Uporablja se lahko tudi za iskanje logičnega rezultata pogoja in izraza, kar omogoča, da JavaScript uporablja funkcionalni podatkovni tip.

Invariantni simboli

Znaki so nova primitivna vrsta v JS. Ustvarjene so s funkcijo:

const mySymbol = Symbol(`mySymbol`).

Vsakič, ko programer pokliče to funkcijo, se ustvari nov in edinstven znak. Uporabljajo se lahko kot konstante za predstavitev pojmov, kot so barve. Simboli se večinoma uporabljajo kot ključi lastnosti in nikoli niso v nasprotju z drugimi ključi - simboli ali nizi. Na primer, objekt je mogoče narediti iterativen, ki se uporablja prek zanke "for-of" in drugih mehanizmov jezika, z uporabo simbola, shranjenega v "Symbol.iterator" kot ključ.

Nespremenljivi znaki

String Znak se uporablja kot ključ metode. Zaradi tega edinstvenega znaka je objekt ponovljiv in omogoča zanke for-of. Znakov ni mogoče pretvoriti v nize, ker obstaja prisilna ali implicitna pretvorba podatkovnih tipov JavaScript. Prepoved prisile preprečuje nekatere napake, vendar tudi otežuje obravnavo.

Nova primitivna vrsta so žetoni, ki služijo kot edinstveni identifikatorji. Programer ustvarja simbole s tovarniško funkcijo "Symbol()", ki je zelo podobna funkciji "String" - vrača nize, ko jo pokliče funkcija:

const symbol1 = Symbol();

Funkcija Symbol() ima neobvezni parameter string, ki omogoča, da novo ustvarjenemu simbolu podate opis. Ta opis se uporablja, ko se znak pretvori v niz s funkcijo "toString()" ali "String()".

Aritmetični operatorji

JS ima, tako kot vsi programski jeziki, vgrajeno zmožnost računanja kot kalkulator. Izvajajo se na številkah ali spremenljivkah, ki so predstavljene kot številke.

Aritmetični operatorji

Operator seštevanja, ki ga predstavlja znak plus (+), sešteje dve vrednosti in vrne vsoto.

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

Operator odštevanja z znakom minus (-) odšteje dve vrednosti in vrne razliko.

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

Operator množenja, ki ga predstavlja zvezdica (*), pomnoži dve vrednosti in vrne produkt.

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

Operator deljenja, ki ga predstavlja poševnica (/), razdeli dve vrednosti in vrne količnik.

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

Manj znan je operator modulus, ki vrne ostanek po deljenju, ki ga predstavlja znak odstotka (%).

var x = 10 % 3; // vrne 1

To pomeni, da "3" trikrat vstopi v "10", preostanek pa je "1".

Povečanje izvede dejanje, pri katerem se število poveča za ena z uporabo operatorja povečanja, ki ga predstavlja znak dvojnega plusa (++).

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

To se zgodi po dodelitvi. Napišete lahko tudi, kaj se zgodi pred nalogo. Za primerjavo:

++x;

var x = 10;

var y = x++;

// y je 10, x je 11;

ter:

var x = 10;

var y = ++x;

// y je 11, x je 11.

Zmanjšanje - število bo zmanjšano za ena z operatorjem zmanjšanja, ki ga predstavlja dvojni znak minus (--).

var x = 10;x--;

// x vrne 9

Tako kot zgoraj lahko zapišemo tudi:--x;

Različice operatorjev JS:

  • operator za dodeljevanje;
  • aritmetična operatorja inkrementacije in dekrementacije;
  • operatorji enakosti;
  • relacijski operatorji;
  • Boolejevi operatorji.

Funkcije true ali false

Primerjalni operatorji ocenijo enakost ali razliko dveh vrednosti in vrnejo "true" ali "false". Ti se pogosto uporabljajo v logičnih izjavah. Dva enaka znaka (==) pomenita enako v JS. Začetniki zlahka zamenjajo enojne, dvojne in trojne enačbe, vendar si morate zapomniti, da enojni znak enakosti uporablja vrednost za spremenljivko in nikoli ne ovrednoti enakosti.

var x = 8;

var y = 8;

x == y; // true

To je prosta vrsta enakosti in vrne "true", tudi če je namesto števila uporabljen niz.

var x = 8;

var y = "8";

x == y; // true

Trije enaki znaki (===) pomenijo strogo enakost v JS.

var x = 8;

var y = 8;

x === y; // true

To je pogosteje uporabljena in natančnejša oblika opredelitve enakosti kot običajna funkcija "enako (==)", saj zahteva, da sta tip in vrednost enaka true.

var x = 8;

var y = "8";

x === y; // false

Vzklikanec, ki mu sledi znak za enakost (!=), pomeni, da ni enak v JS. To je ravno nasprotno od "==" in preveri samo vrednost, ne pa tudi tipa.

var x = 50;

var y = 50;

x != y; // false

Vzklik, ki mu sledita dva enaka znaka (!==), pomeni strogo ni enako. To je ravno nasprotno od (===) in ovrednoti tako vrednost kot tip. Še en znan lik, manj kot (<), preveri, ali je vrednost na levi strani manjša od vrednosti na desni strani. Manj kot ali enako (<=) - je enako kot zgoraj, vendar je enako tudi. Večji od (>) preveri, ali je vrednost na levi strani večja od vrednosti na desni strani. Vrednost, ki je večja ali enaka (>=), enako kot zgoraj, vendar bo tudi res.

Funkcije

Dinamično preverjanje tipa

Tipi podatkov in spremenljivk v javascriptu so osnovni programski jezik. Številne napake pri izvajanju v JS so vrste. Na primer, ko poskušate pomnožiti "število" z "nizom", dobite napako "Ni število", ki jo vrne. Včasih se pri klicanju funkcij pojavi napaka "nedefinirano ni funkcija", kar se zgodi pri poskusu dostopa do lastnosti, ki ni definirana. Ker JS ne more najti te lastnosti, vrne njeno privzeto vrednost v backup: undefined. Drugo pogosta napaka, povezano s tipom, ko poskušate spremeniti lastnost z ničelno ali nedefinirano vrednostjo ali do nje dostopati. Tu ni konstruktorjev, kot sta Undefined ali Null.

Dinamično preverjanje tipa

Sistem tipov JS pomaga preprečiti te pogoste napake. Po definiciji je interpretiran in dinamičen jezik, ki zahteva delovanje sistema tipov med izvajanjem. Jezik poskuša pomagati tudi s tiho pretvorbo tipov vrednosti. Spreminjanje ali vsiljevanje tipa je razlog, da mnogi razvijalci preidejo na strogo uporabo(===) za preverjanje enakosti vrednosti.

JavaScript izvaja dinamično preverjanje tipov prek knjižnice TypeRight. Med drugimi značilnostmi je tudi implementacija naslednjih psevdorazredov, katerih edini namen je biti desna stran operatorja instanceof:

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

TypeRight trenutno ne zagotavlja za preverjanje dejstvo, če je vrednost predmet, vendar jo je mogoče preprosto dodati.

Spremenljivi zabojniki

Spremenljivke v JS so vsebniki, ki vsebujejo podatke za večkratno uporabo. Pred ES2015 so bile spremenljivke JavaScript deklarirane izključno s ključno besedo var:

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

Danes so spremenljivke opredeljene s tipi: var, let in const. Po svoje so edinstveni in služijo izboljšanju razvoja kode, vendar je priporočljivo uporabljati: let - kadar je to mogoče, in const - kadar mora vrednost spremenljivke ostati konstantna. Uporaba spremenljivk za shranjevanje podatkov je jedro jezika in je sestavljena iz treh delov.

Deklaracija spremenljivke - tukaj je spremenljivka registrirana v ustreznem obsegu. Primeri deklaracij spremenljivk:

  • var x;
  • var skodelica;
  • var avto.

Inicializacija se zgodi, ko je spremenljivka deklarirana. V tem primeru se mu dodeli pomnilnik ali prostor s pomočjo gonilnika JavaScript. Zaradi tega spremenljivka, ko je enkrat deklarirana, dobi nedefinirano vrednost še pred pripisom.

Dodelitev spremenljivke je najpomembnejši korak pri uporabi. Tu so podatki dodeljeni spremenljivki, ki so vrednosti, z uporabo operatorja dodelitve "=".

Vrednosti v jeziku JavaScript imajo eno od standardnih podatkovnih vrst:

  • niz;
  • število;
  • boolean;
  • nič;
  • nedefinirano.

Sintaksa za pripis tipa je vidna samo zgoraj z nizi, ki imajo enojne ali dvojne narekovaje. Logične vrednosti so lahko resnične ali neresnične. Pri poimenovanju spremenljivk v jeziku JavaScript je treba upoštevati določena pravila, kot sledi:

  1. Imena se morajo začeti z malo začetno črko.
  2. Imena ne smejo vsebovati znakov ali se začeti z znaki.
  3. Imena se ne smejo začeti s številko.
  4. Imena lahko vsebujejo kombinacijo nizov velikih in malih črk ter številk.
Spremenljivi zabojniki

Načini inicializacije JS

Spremenljivka je inicializirana, ko je njena vsebina ali vrednost prvič nastavljena. npr. cena = 22,55 - tako lahko inicializiramo spremenljivko. Lahko se deklarira in inicializira hkrati. Na primer, lahko zapišete spremenljivko "cena = 22,55", s katero je bila spremenljivka deklarirana in inicializirana v isti vrstici. JS ne zahteva, da je tip spremenljivke deklariran, in celo omogoča, da spremenljivka shranjuje vsebino različnih tipov v različnih časovnih obdobjih. Uporabite lahko na primer "cena = 22,55", pozneje pa napišite cena = "zelo drago". To je nekaj, kar bi v drugih jezikih povzročilo napako, v jeziku JavaScript pa je sprejemljivo.

metode inicializacije JS

JS omogoča uporabo spremenljivke, ne da bi jo razglasili. V mnogih programski jeziki je treba spremenljivko deklarirati, preden jo je mogoče uporabiti, vendar JS tega ne zahteva. Ko jezik najde spremenljivko, ki ni deklarirana, jo samodejno ustvari in omogoči njeno uporabo.

Nepravilna uporaba ključne besede var lahko povzroči napako, zaradi katere JS preneha delovati, tj. spletna stran se ne prikaže pravilno. var se uporablja samo za deklariranje spremenljivke, ne more se uporabljati za nič drugega. Ko je spremenljivka deklarirana, se bo uporabljala brez ključne besede var pred njo. Če je spremenljivka že deklarirana, jo bo JavaScript poskušal nadaljevati in pridobiti.

Predstavitev

Za prikaz delovanja kode in utrditev osnovnih konceptov podatkovnih vrst JavaScript program prebere kodo, prikazano na sliki in shranjeno v datoteki s končnico html.

Demonstracija ocene tipa

Po vizualizaciji rezultata se prepričajte, da je spletna stran prikazana normalno, tj. da se JavaScript izvaja normalno, in pričakovani rezultat mora prikazati naslednje:

  1. Spremenljiva cena je veljavna: nedoločena (accept).
  2. Spremenljivka data1 je veljavna: nič (accept).
  3. Veljavna spremenljiva cena: 32,55 (sprejeti).
  4. Dvojna cena: 65,1 (sprejeti).
  5. Znesek, ki ga dobimo, če ceno pomnožimo s količino, je: 325,5 (sprejmite).
  6. Spremenljiva cena zdaj: zelo drago (sprejeti).
  7. Dvojna cena zdaj: NaN (sprejeti).
  8. Spremenljiva cena je bila objavljena drugič in je zdaj veljavna: 99.55 (sprejeti).
  9. Spremenljivka $ discount_applied: 0.55 (accept).
Prikaz delovanja

Razumevanje delovanja jezika bo razvijalca samodejno naredilo boljšega programerja. Ker pa velja, da "praksa dela mojstra", ni dovolj, da se naučimo samo teorije, ampak je treba začeti uporabljati osnove delovanja podatkovnih zbirk in podatkov v javascriptu v praksi. Po prebranih zgornjih informacijah začetnemu programerju ni težko odgovoriti na vprašanje, koliko podatkovnih vrst je v javascriptu.

Članki na tem področju