Note importante
Aici sensul nu a fost neintenționat. Aparent, nu este încă momentul să dăm această valoare variabilă.
nul este necesar pentru o indicație explicită, intenționată că nu există valoare. Poti spune ca a = null; De exemplu, ați cerut utilizatorului să introducă informații, dar el nu a introdus nimic. În acest caz, este necesar să scrieți rezultatul null.
null. spre deosebire de nedefinit. poate fi setat manual, trecut ca argument pentru funcție și utilizat în general ca orice altă valoare explicită.
Atunci când se compară nul și nedefinit, trebuie să fii atent:
În acest curs, comparăm datele folosind trei semne egale:
Această comparație este directă: sunt aceste date absolut identice?
Rezumatul lecției
NaN înseamnă "nu un număr", dar tipul acestei valori este numărul.
O variabilă fără valoare are o valoare specială nedefinită. Tipul acestei variabile este nedefinit:
Tastarea dinamică și statică
Codul este convertit într-o altă formă pe care computerul o poate porni. Acest proces se numește compilare, iar perioada de timp pentru care are loc acest proces este un timp de compilare.
După ce compilația este finalizată, programul este pornit și perioada în care este pornită este numită timpul de execuție.
Tipurile de verificare a limbilor tipărite static și căutați erori de scriere la etapa de compilare.
Tipurile de verificare a limbajelor tipărite dinamic și căutarea erorilor de scriere în timpul rulării.
Cu alte cuvinte: tastarea statică înseamnă verificarea tipului înainte de începerea programului; verificarea tipului dinamic în timp ce programul este în desfășurare.
Textură slabă și puternică
facultativ
Transcrierea lecției
Într-una din lecțiile anterioare, am vorbit despre greșeli și cum să facem față cu ele. Există mai multe tipuri de erori și vreau să reamintesc un anumit formular. Iată un mic fragment din acea lecție:
Aruncați o privire la acest cod:
Eroarea de tiparire este modul de a cere pisicii să spele rufele. Poate că vroiai să-ți întrebi prietenul despre asta.
typeof este un operator special care returnează un șir în care este scris tipul.
Și dacă dacă creezi o variabilă, dar nu-i dai nici o valoare? Care va fi tipul în acest caz? Acesta nu este nici un număr, nici un șir, nimic. Pentru că nu contează, nu?
De exemplu, numărul de tip are un set de valori potențiale: 1, 2, -10, 69000 și alte numere. Și tip undefined doar una - nedefinit.
Când vine vorba de tastarea în programare, este important să se facă distincția între două concepte: dinamic versus static și slab față de puternic.
Pentru a înțelege diferența dintre tastarea dinamică și cea statică, trebuie mai întâi să vedem cum se programează programele scrise.
Codul pe care îl scrieți este, de obicei, transformat într-o formă ușor de înțeles pentru pornirea calculatorului. Acest proces se numește compilare, iar intervalul de timp pentru care se întâmplă este o "etapă de compilare" sau un timp de compilare.
După ce compilația este terminată și programul este pornit, începe o inversare a timpului, numită "stadiul de execuție" sau timpul de execuție.
Unele limbi verifică tipurile și căutați erori de scriere la momentul compilării. Au o tastare statică.
Alte limbi verifică tipurile și căutați erori de scriere în timpul rulării. Acest tip de tastare este dinamic.
Cu alte cuvinte: tastarea statică înseamnă verificarea tipului înainte de începerea programului, verificarea tipului dinamic este tipul când programul este pornit.
C #, C ++, Java, Go sunt limbi statice. Dacă într-una din aceste limbi creezi un număr și încerci să faci operații cu ea ca într-o funcție, vei primi o eroare la momentul compilării și programul nu va porni - nu va ajunge chiar în acest stadiu, deoarece eroarea de tiparire va fi detectată înainte de execuție, la momentul compilării.
Tiparea dinamică nu este nici mai rău, nici mai bună decât scrierea statică. Ambele metode au avantaje și dezavantaje. Limbile dinamic tipărite sunt, de obicei, mai ușor de învățat și de scris programe pe ele, dar după cum vă puteți imagina, acest lucru crește potențial erori și bug-uri.
Acest concept nu are nimic de-a face cu tastarea dinamică și statică, a cărei semnificație este când se verifică tipurile. Puternică și slabă - acesta este modul în care GREEN verifica tipuri.
Poți să presupui că cel slab este o tipare nestricătoare, iar cea puternică este exigentă.
Spre deosebire de dinamism-static, forța tipizării este spectrul. Introducerea PHP este ceva mai puternică. Python este chiar mai puternic. Și toate sunt dinamic limbaje.
Putem presupune că o conversie implicită de la tip la tip nu este cea mai bună idee. Implicit, apoi ascuns și ascuns - apoi dificil de înțeles și predispus la greșeli. Comportamentul programului devine mai puțin evident. Veți scrie mai puțin cod, da, dar codul este mai fragil și mai puțin de înțeles.