Tipuri de date Jquery. „Lucruri complicate despre lucruri simple”

Lecția #3
Tipuri de date în JavaScript

În ultima lecție, am aflat că o variabilă este o zonă de memorie numită care stochează unele date (valori).

Fiecare valoare din JavaScript are propriul tip de date. Există un total de 6 tipuri de date în JavaScript, în acest tutorial JavaScript, ne vom uita la 4 tipuri de date:
— numărul tipului de date numerice,
— tipul de date șir șir de caractere,
— tipul de date boolean,
— tip de date nedefinit undefined .

Pe celelalte două le vom studia puțin mai târziu:
— obiect tip de date obiect
— tip de date gol nul

tip de operator

Înainte de a privi tipurile de date JavaScript, să ne familiarizăm mai întâi cu tipul operatorului, acesta vă permite să aflați ce tip de date este atribuit unei variabile, acest lucru se face după cum urmează:

Alertă (tip de nume variabilă);

După aceasta, scriptul ar trebui să afișeze un mesaj: număr, șir, boolean, nedefinit, obiect.

Tip de date: număr

Când unei variabile i se atribuie un număr (fără ghilimele) ca valoare, tipul ei de date devine număr

Var MyNumber; Numărul meu = 5; alertă(tipul meuNumăr);

În prima linie am creat o variabilă numită myNumber, în a doua linie am atribuit variabilei valoarea 5, în a treia am calculat tipul de date al variabilei myNumber folosind operatorul typeof, iar funcția alert() ne-a arătat rezultatul acestor calcule.

Ca rezultat, acest script va afișa numărul mesajului . Dacă un număr este înconjurat de ghilimele („5” simplu sau „5” dublu), atunci se va transforma într-un șir de șir.

Tip de date: șir

Când unei variabile i se atribuie ca valoare orice valoare cuprinsă între „„ duble sau ghilimele simple „”, tipul ei de date devine șir.

Var myString; myString = "Bună, sunt un șir JavaScript!"; alert(tipul myString);

Pe prima linie, am creat o variabilă numită myString, pe a doua linie, i-am atribuit variabilei valoarea „Hi, I’m a JavaScript string!” , în al treilea, folosind operatorul typeof, am calculat tipul de date al variabilei myString, iar funcția alert() ne-a arătat rezultatul acestor calcule. Ca rezultat, acest script ar trebui să ne dea un mesaj șir.

Tip de date: tip de date logic (boolean)

Când unei variabile i se atribuie adevărat sau fals ca valoare, fără ghilimele, tipul ei de date devine boolean.

Tipul de date boolean este un tip de date logic și are doar două valori: adevărat sau fals.

Var myBoolean; myBoolean = adevărat; alert(tipul meuBoolean);

În prima linie am creat o variabilă numită myBoolean , în a doua linie am atribuit valoarea adevărată variabilei, în a treia am calculat tipul de date al variabilei myBoolean folosind operatorul typeof, iar funcția alert() ne-a arătat rezultatul acestor calcule. Ca rezultat, acest script ar trebui să ne dea un mesaj boolean.

Vom studia tipul de date boolean mai detaliat în următoarele lecții despre operații de comparare, operații logice și operatorul de ramură dacă

Tip de date: nedefinit

Tipul de date nedefinit apare atunci când o variabilă este declarată, dar nu este inițializată, de exemplu. Variabila a fost creată, dar nu i-a fost atribuită nicio valoare.

Var myUndefined; alertă(tipul meu Nedefinit);

În prima linie am creat o variabilă numită myUndefined , în a doua linie am calculat tipul de date al variabilei myUndefined folosind operatorul typeof, iar funcția alert() ne-a arătat rezultatul acestor calcule. Ca rezultat, acest script ar trebui să ne dea mesajul undefined .

Accesarea valorii unei variabile

Pentru a accesa valoarea unei variabile, trebuie să vă referiți la ea după nume:

// declar variabile var myString; var MyNumber; // inițializați variabilele myString = "HELLO WORLD!"; Numărul meu = 5; // acces variabile alert(myString); alert(myNumber);

În prima și a doua linie de cod am creat variabilele myString și myNumber, în a treia și a patra linie am atribuit variabilelor valorile „HELLO WORLD!”. și 5 , în rândurile a cincea și a șasea, folosind funcția alert(), au afișat rezultatele Hello, WORLD! și 5

Pe măsură ce funcționează programele de calculator, acestea manipulează valori precum numărul 7 sau textul „HelloWorld!” Fiecare valoare care poate fi reprezentată și procesată într-un limbaj de programare aparține unui anumit tip de date. Un tip de date definește tipurile de valori care sunt utilizate într-un limbaj de programare.

În JavaScript, tipurile de date pot fi împărțite în două categorii: tipuri simple (numite și primitive) și compuse (numite și referință sau obiect).

  • șir - șiruri de text (de obicei sunt numite pur și simplu șiruri)
  • număr – numere
  • boolean - valori logice (booleene).

Două valori speciale aparțin, de asemenea, unor tipuri simple:

  • nul
  • nedefinit

Tipurile de date compuse includ:

  • function - functii
  • matrice - matrice
  • obiect – obiecte
Diferența dintre tipurile simple și compuse

Diferența dintre tipurile simple și cele compuse apare atunci când valorile sunt copiate.

Când unei variabile (parametru de funcție, proprietate sau element de matrice) i se atribuie o valoare de tip simplu, cum ar fi un număr, valoarea în sine (în acest caz, numărul) este scrisă în variabilă. Când atribuiți o variabilă (cu o valoare de tip simplu) unei alte variabile, valoarea este copiată. Ca urmare, fiecare variabilă are propria copie a valorii și modificările uneia dintre variabile nu afectează valoarea celeilalte:

Var num1 = 10; var num2 = num1; // Copiați alerta de valoare("num1: " + num1 + // 10 "\nnum2: " + num2); // 10 num1 = 15; // Schimbați alerta de valoare("num1: " + num1 + // 15 "\nnum2: " + num2); // 10

Când unei variabile (parametru de funcție, proprietate sau element de matrice) i se atribuie o valoare de tip complex, cum ar fi un obiect, o referință la valoare (în acest caz, o referință la obiect) este scrisă în variabilă. Când atribuiți o variabilă (a cărei valoare conține o referință la o valoare compusă) unei alte variabile, referința la valoarea compusă este copiată. Ca urmare, ambele variabile se referă la aceeași valoare compusă, iar orice modificare adusă valorii uneia dintre variabile va afecta cealaltă variabilă:

Var o1 = (x:10); var o2 = o1; // Copiați linkul către alerta de obiect ("o1.x: " + o1.x + // 10 "\no2.x: " + o2.x); // 10 o2.x = 15; // Schimbați alerta de valoare ("o1.x: " + o1.x + // 15 "\no2.x: " + o2.x); // 15

nulă și nedefinită

Tipul null are o singură valoare - null. Valoarea null este o referință la un obiect gol și are un scop special - este de obicei folosită pentru a inițializa o variabilă căreia obiectul îi va fi atribuit ulterior.

Tipul nedefinit are o singură valoare - nedefinit. Valoarea nedefinită indică faptul că nu există o valoare pentru început. Puteți obține valoarea nedefinită după cum urmează:

  • La accesarea unei variabile care a fost declarată dar neinițializată.
  • La accesarea unei proprietăți inexistente a unui obiect.
  • La accesarea unui element de matrice inexistent.
  • La accesarea parametrilor funcției care nu au fost inițializați cu argumente atunci când funcția a fost apelată.
  • Returnat de funcții care nu au o valoare returnată.
  • Returnat de operatorul typeof dacă operandul este o variabilă inexistentă.
var bar; document.write(bara);

Identificatorul undefined este numele unei variabile globale predefinite care este inițializată cu valoarea undefined. Variabila nedefinită este doar pentru citire.

Obiecte de ambalare

Ori de câte ori un program încearcă să acceseze o proprietate sau o metodă a unei valori de tip primitiv, interpretul convertește temporar valoarea primitivă într-un obiect de tipul adecvat. Obiectele temporare în care sunt convertite valori de tip primitiv se numesc obiecte wrapper. Aceste obiecte sunt folosite de interpret pentru a accesa proprietatea sau metoda dorită. Imediat după apelarea unei proprietăți sau metode, obiectul wrapper este distrus. Obiectele wrapper sunt create numai pentru valori de tip number , string și boolean . Valorile null și undefined nu au obiecte wrapper: orice încercare de a accesa proprietățile acestor valori va genera o eroare.

Dacă încercați să setați o nouă proprietate pentru un obiect wrapper, noua proprietate nu va fi salvată, deoarece obiectul wrapper este distrus imediat după ce și-a încheiat activitatea:

Var str = „text”; str.len = 5; // Setați o proprietate cu o valoare. Imediat după aceasta, obiectul este distrus alert(str.len); // nedefinit, deoarece obiectul wrapper anterior a fost deja distrus

Obiectele Wrapper pot fi văzute pur și simplu ca o implementare convenabilă pentru lucrul cu valori de tip primitiv și la care nu s-au gândit deloc.

Ultima actualizare: 26.03.2018

Toate datele utilizate în javascript au un tip specific. JavaScript are cinci tipuri de date primitive:

    Șir: reprezintă un șir

    Număr: reprezintă o valoare numerică

    Boolean: reprezintă valoarea booleană adevărată sau falsă

    undefined : indică faptul că valoarea nu este setată

    null : indică o valoare nedefinită

Toate datele care nu se încadrează în cele cinci tipuri de mai sus sunt de tip obiect

Date numerice

Numerele în JavaScript pot lua două forme:

    Numere întregi, cum ar fi 35. Putem folosi atât numere pozitive, cât și numere negative. Gama de numere utilizate: de la -2 53 la 2 53

    Numere fracționale (numere în virgulă mobilă), de exemplu 3,5575. Din nou, pot fi folosite atât numere pozitive, cât și numere negative. Numerele cu virgulă mobilă folosesc același interval: de la -2 53 la 2 53

De exemplu:

Var x = 45; var y = 23,897;

Ca și în alte limbaje de programare, un punct este folosit ca separator între părțile întregi și fracționale.

Coarde

Tipul de șir reprezintă șiruri de caractere, adică date care sunt cuprinse între ghilimele. De exemplu, „Bună lume”. Mai mult, putem folosi atât ghilimele duble, cât și simple: „Hello world” și „Hello world”. Singura limitare este că tipul cotației de închidere trebuie să fie același cu tipul cotației de deschidere, adică fie ambele duble, fie ambele simple.

Dacă există ghilimele în interiorul unui șir, trebuie să le scăpăm cu o bară oblică. De exemplu, să presupunem că avem textul „Biroul „Coarne și copite””. Acum scăpăm de ghilimele:

Var companyName = "Biroul Coarne și Copite";

Putem folosi și un alt tip de ghilimele în interiorul liniilor:

Var companyName1 = "Biroul Coarne și Copite"; var companyName2 = "Biroul pentru coarne și copite";

Tastați boolean

Tipul boolean reprezintă valorile booleene sau logice adevărate și false (adică da sau nu):

Var isAlive = adevărat; var isDead = fals;

nulă și nedefinită

Există adesea confuzie între nul și nedefinit. Deci, atunci când definim o variabilă fără a-i oferi o valoare inițială, aceasta reprezintă tipul nedefinit:

Var isAlive; console.log(isAlive); // va imprima nedefinit

Atribuirea la null înseamnă că variabila are o valoare nedefinită (nu un număr, nu un șir, nu o valoare booleană), dar are totuși o valoare (nedefinită înseamnă că variabila nu are valoare):

Var isAlive; console.log(isAlive); // nedefinit isAlive = null; console.log(isAlive); // null isAlive = nedefinit; // setați din nou tipul la nedefinit console.log(isAlive); // nedefinit

obiect

Tipul de obiect reprezintă un obiect complex. Cea mai simplă definiție a unui obiect este reprezentată de acolade:

Var user = ();

Un obiect poate avea diferite proprietăți și metode:

Var user = (nume: „Tom”, vârsta: 24); console.log(nume.utilizator);

În acest caz, obiectul se numește utilizator și are două proprietăți: nume și vârstă. Aceasta este o scurtă descriere a obiectelor; o descriere mai detaliată este dată în capitolul corespunzător.

Tastare slabă

JavaScript este un limbaj slab tastat. Aceasta înseamnă că variabilele se pot schimba dinamic tipul. De exemplu:

Var xNumber; // tastați nedefinit console.log(xNumber); xNumăr = 45; // tastați numărul console.log(xNumber); xNumber = "45"; // tastați șirul console.log(xNumber);

Deși în al doilea și al treilea caz consola va afișa numărul 45, în al doilea caz variabila xNumber va reprezenta un număr, iar în al treilea caz va reprezenta un șir.

Acesta este un punct important care trebuie luat în considerare și de care depinde comportamentul variabilei în program:

Var xNumber = 45; // tip număr var yNumber = xNumber + 5; console.log(yNumber); // 50 xNumber = "45"; // tastați șirul var zNumber = xNumber + 5 console.log(zNumber); // 455

În ambele cazuri de mai sus, operația de adăugare (+) este aplicată variabilei xNumber. Dar în primul caz, xNumber reprezintă un număr, deci rezultatul xNumber + 5 este 50.

În al doilea caz, xNumber reprezintă un șir. Dar operația de adunare între șir și numărul 5 este imposibilă. Prin urmare, numărul 5 va fi convertit într-un șir și va avea loc operația de concatenare a șirurilor. Iar rezultatul expresiei xNumber + 5 va fi „455”.

tip de operator

Folosind operatorul typeof puteți obține tipul unei variabile:

Var nume = "Tom"; console.log(tip de nume); // string var venit = 45,8; console.log(tip de venit); // numărul var este activat = adevărat; console.log(tipul este activat); // boolean var undefVariable; console.log(typeof undefVariable); // nedefinit

JavaScript sau JS(abreviat) nu este un limbaj ușor și dezvoltatorii începători nu vor afla despre el imediat. La început învață elementele de bază și totul pare colorat și frumos. Mergând un pic mai adânc, apar matrice JavaScript, obiecte, apeluri inverse și orice altceva de genul ăsta, ceea ce de multe ori vă surprinde mintea.

În JavaScript, este important să verificați corect tipul unei variabile. Să presupunem că vrei să știi dacă o variabilă este o matrice sau un obiect? Cum să verific asta corect? În acest caz particular, există trucuri în timpul verificării și această postare va fi despre ele. Să începem imediat.

Verificarea tipului unei variabile

De exemplu, trebuie să verificați dacă o variabilă este un obiect, o matrice, un șir sau un număr. Puteți folosi typeof pentru aceasta, dar nu va spune întotdeauna adevărul și în exemplul de mai jos voi arăta de ce.

Am scris acest exemplu pentru a arăta clar de ce typeof nu este întotdeauna alegerea potrivită.

Var _comparație = ( șir: „șir”, int: 99, float: 13.555, obiect: (bună ziua: „bună ziua”), matrice: nou Array(1, 2, 3) ); // Returnează o matrice cu cheile obiectului var _objKeys = Object.keys(_comparison); for(var i = 0; i colorArray.length - 1)( i = 0; ) ) Schimbați fundalul

În interiorul elementului.
Elementul poate fi inserat oriunde în document. În interiorul etichetei se află codul care este executat imediat după ce a fost citit de browser sau conține o descriere a funcției care este executată în momentul în care este apelată. Descrierea funcției poate fi plasată oriunde, principalul lucru este că, în momentul în care este apelată, codul funcției a fost deja încărcat.

De obicei, codul JavaScript este plasat în capul documentului (elementul) sau după eticheta de deschidere. Dacă scriptul este folosit după ce pagina s-a încărcat, de exemplu, codul de contor, atunci este mai bine să îl plasați la sfârșitul documentului:

document.write("Introduceți numele dvs.");

2. Tipuri de date și variabile în JavaScript

Calculatoarele procesează informații – date. Datele pot fi prezentate sub diferite forme sau tipuri. Cea mai mare parte a funcționalității JavaScript este implementată printr-un set simplu de obiecte și tipuri de date. Funcționalitatea șir, număr și logică se bazează pe tipuri de date șir, numerice și booleene. Alte funcționalități, inclusiv expresii regulate, date și operații matematice, sunt furnizate prin obiectele RegExp, Date și Math.

Literale în JavaScript sunt o clasă specială de tip de date, valori fixe ale unuia dintre cele trei tipuri de date - șir, numeric sau boolean:

„acesta este un șir” 3.14 true alert(„Bună ziua”); // „Bună ziua” este un var literal myVariable = 15; // 15 este un literal

Un tip de date primitiv este o instanță a unui anumit tip de date, cum ar fi șir, numeric, boolean, nul și nedefinit.

2.1. Variabile în JavaScript

Datele procesate de scriptul JavaScript sunt variabile. Variabilele sunt denumite containere care stochează date (valori) în memoria computerului care se pot modifica în timpul execuției programului. Variabilele au un nume, un tip și o valoare.

Numele variabilei sau identificatorul poate include doar literele a-z, A-Z, numerele 0-9 (numărul nu poate fi primul caracter din numele variabilei), simbolul $ (poate fi doar primul caracter din variabilă sau funcție nume) și caracterul de subliniere _, inclusiv spațiile nu sunt permise. Lungimea numelui variabilei nu este limitată. Este posibil, dar nu este recomandat, să scrieți nume de variabile în litere ale alfabetului rus pentru aceasta, acestea trebuie să fie scrise în Unicode.

Nu puteți utiliza cuvinte cheie JavaScript ca nume de variabilă. Numele variabilelor în JavaScript sunt sensibile la majuscule și minuscule, ceea ce înseamnă că mesajul variabila var; și var Message; - variabile diferite.

O variabilă este creată (declarată) folosind cuvântul cheie var urmat de numele variabilei, de exemplu, mesaj var; . Trebuie să declarați o variabilă înainte de a o folosi.

O variabilă este inițializată cu o valoare folosind operatorul de atribuire = , de exemplu, var message="Hellow"; , adică este creată o variabilă de mesaj și valoarea sa inițială „Bună ziua” este stocată în ea. O variabilă poate fi declarată fără valoare, caz în care i se atribuie valoarea implicită undefined . Valoarea unei variabile se poate modifica în timpul execuției scriptului. Pe aceeași linie pot fi declarate variabile diferite, separate prin virgulă:

Var message="Salut", number_msg = 6, time_msg = 50;

2.2. Tipuri de date variabile

JavaScript este un limbaj netipizat; nu trebuie specificat tipul de date pentru o anumită variabilă la declararea acesteia. Tipul de date al unei variabile depinde de valorile pe care le acceptă. Tipul unei variabile se poate schimba în timpul operațiunilor de date (casting de tip dinamic). Conversiile de tip sunt efectuate automat în funcție de contextul în care sunt utilizate. De exemplu, în expresiile care implică valori numerice și șir cu operatorul +, JavaScript convertește valorile numerice în valori șir:

Mesajul Var = 10 + „zile înainte de vacanță”; // va reveni "10 zile până la vacanță"

Puteți obține tipul de date al unei variabile folosind operatorul typeof. Acest operator returnează un șir care identifică tipul corespunzător.

Tip de 35; // returnează tipul „număr” de „text”; // returnează tipul „șir” de adevărat; // returnează tipul „boolean”; // returnează tipul „obiect” de nedefinit; // va returna tipul „nedefinit” de null; // returnează „obiect”

Toate tipurile de date din JavaScript sunt împărțite în două grupuri - tipuri de date simple (tipuri de date primitive)și tipuri de date compuse (tipuri de date compuse).

Tipurile de date simple includ șir, numeric, boolean, nul și subdefinit.

2.2.1. Tip șir

Folosit pentru a stoca un șir de caractere cuprins între ghilimele duble sau simple. Un set gol de caractere cuprins între ghilimele simple sau duble este șirul gol. Un număr cuprins între ghilimele este, de asemenea, un șir.

Var bani = ""; // șir gol, zero caractere var work = "test"; var day = „duminică”; var x = "150";

Puteți include un singur ghilimele într-un șir cu ghilimele duble și invers. Un ghilimele de același tip este eliminat folosind caracterul backslash \ (numit secvență de escape):

Document.writeln("\"Bună dimineața, Ivan Ivanovici!\"\n"); // va afișa „Bună dimineața, Ivan Ivanovici!”

Șirurile pot fi comparate și combinate folosind operatorul de concatenare + . Datorită turnării automate, puteți combina numere și șiruri. Rândurile sunt permanente, odată ce un rând este creat, acesta nu poate fi modificat, dar se poate crea un rând nou prin concatenarea altor rânduri.

2.2.2. Tip numeric (număr)

Folosit pentru valori numerice. Există două tipuri de numere în JavaScript: numere întregi (întreg)și numere în virgulă mobilă (număr în virgulă mobilă). Valorile întregi pot fi pozitive, cum ar fi 1, 2, negative, cum ar fi –1, –2 sau zero. 1 și 1,0 au aceeași valoare. Majoritatea numerelor din JavaScript sunt scrise în zecimală, dar pot fi folosite și sistemele octale și hexazecimale.

În sistemul zecimal, valorile variabilelor numerice sunt specificate folosind cifre arabe 1, 2, 3, 4, 5, 6, 7, 8, 9, 0.

În format octal, un număr este o secvență care conține cifrele de la 0 la 7, începând cu prefixul 0.

Pentru formatul hexazecimal, se adaugă prefixul 0x (0X), urmat de o succesiune de numere de la 0 la 9 sau litere de la a (A) la f (F), corespunzătoare valorilor de la 10 la 15.

Var a = 120; // valoare numerică întreagă zecimală var b = 012; // format octal var c = 0xfff; // format hexazecimal var d = 0xACFE12; // format hexazecimal

Numerele cu virgulă mobilă sunt numere cu o parte zecimală fracționară sau sunt numere exprimate în notație științifică. Notarea științifică a numerelor ia următoarea formă: un număr cu o parte zecimală fracțională, urmată de litera e, care poate fi indicată fie cu litere mari, fie cu minuscule, apoi cu un semn opțional + sau - și un exponent întreg.

Var a = 6,24; // număr real var b = 1,234E+2; // număr real, echivalent cu 1,234 X 10² var c = 6,1e-2; // număr real, echivalent cu 6,1 X 10‾²

2.2.3. tip boolean

Acest tip are două valori, adevărat, fals. Folosit pentru a compara și a testa condițiile.

Var answer = confirm("Ți-a plăcut acest articol?\n Faceți clic pe OK. Dacă nu, faceți clic pe Anulare."); dacă (răspuns == adevărat) (alerta ("Mulțumesc!"); )

Există, de asemenea, tipuri speciale de valori simple:
tip nul - acest tip are o singură valoare nulă, care este folosită pentru a reprezenta obiecte inexistente.

tip nedefinit - tipul variabilă subdefinit înseamnă absența valorii inițiale a variabilei, precum și o proprietate inexistentă a obiectului.

Tipurile de date compuse constau din mai multe valori. Acestea includ obiecte și tipuri speciale de obiecte - matrice și funcții. Obiectele conțin proprietăți și metode, tablourile sunt o colecție indexată de elemente, iar funcțiile constau dintr-o colecție de instrucțiuni.

2.3. Variabile globale și locale

Variabilele în funcție de domeniu sunt împărțite în globale și locale. Un domeniu de aplicare este partea unui script în care un nume de variabilă este asociat cu acea variabilă și returnează valoarea acesteia. Variabilele declarate în corpul unei funcții sunt numite locale și pot fi utilizate numai în cadrul acelei funcții. Variabilele locale sunt create și distruse împreună cu funcția corespunzătoare.

Variabilele declarate în interiorul unui element sau în interiorul unei funcții, dar fără a utiliza cuvântul cheie var, se numesc globale. Acestea pot fi accesate atâta timp cât pagina este încărcată în browser. Astfel de variabile pot fi folosite de toate funcțiile, permițându-le să facă schimb de date.

Variabilele globale ajung în spațiul de nume global, unde interacționează componentele individuale ale programului. Nu este recomandat să declarați variabile în acest mod, deoarece nume de variabile similare pot fi deja folosite de alt cod, provocând blocarea scriptului.

Spațiul global în JavaScript este reprezentat de obiectul fereastră globală. Adăugarea sau modificarea variabilelor globale actualizează automat obiectul global. La rândul său, actualizarea obiectului global actualizează automat spațiul de nume global.

Dacă o variabilă globală și o variabilă locală au același nume, atunci variabila locală va avea prioritate față de cea globală.

Variabilele locale declarate în cadrul unei funcții în diferite blocuri de cod au același domeniu. Cu toate acestea, este recomandat să plasați toate declarațiile de variabile la începutul funcției.