Lucrul cu stringul primitiv, numărul și valorile booleene

Nu fiți atenționați de faptul că literalurile de tip șir, număr și literă booleană pot fi tratate ca un obiect cu proprietăți (de ex., true.toString ()). Atunci când aceste valori primitive sunt tratate ca obiecte prin încercarea de a accesa proprietățile acestora, JavaScript va crea un obiect înfășurat din constructorul asociat primitivului, astfel încât proprietățile și metodele obiectului wrapper să poată fi accesate.

Odată ce proprietățile au fost accesate, obiectul de împachetare este aruncat. Această conversie ne permite să scriem un cod care ar face să pară ca o valoare primitivă să fie, de fapt, un obiect. Adevărul este spus, atunci când este tratat ca un obiect în cod, JavaScript îl va converti într-un obiect, astfel încât proprietatea va funcționa și apoi va converti înapoi la o valoare primitivă odată ce o valoare va fi returnată. Lucrul cheie pe care trebuie să-l observați aici este ceea ce se întâmplă și că JavaScript vă face asta în spatele scenei.


Eșantioane de valoare primitivă

Iată câteva exemple care demonstrează despre ce vorbesc:

Eșantion de șir: sample56.html

 

Exemplu de număr: sample57.html

 

Exemplu boolean: sample58.html

 

Atunci când accesați direct o proprietate pe un număr primitiv (nu este stocată într-o variabilă), trebuie să evaluați mai întâi numărul înainte ca valoarea să fie tratată ca un obiect (de ex.., (1) .toString (); sau 1 ... toString ();). De ce două puncte? Primul punct este considerat ca zecimal numeric, nu ca operator pentru accesarea proprietăților obiectului.


Ar trebui să utilizați, în mod obișnuit, stringuri, numere și valori booleene

Valorile literale / primitive care reprezintă un șir, un număr sau o logică booleană sunt mai rapide pentru scriere și sunt mai concise în forma literală.

Ar trebui să folosiți valoarea literală din acest motiv. În plus, precizia tip de operatorul depinde de modul în care creați valoarea (invocarea literală versus constructorul). Dacă creați un șir, un număr sau un obiect Boolean, tip de operatorul raportează tipul ca obiect. Dacă utilizați literali, tip de operatorul returnează un nume de șir al tipului de valoare reală (de ex., typeof 'foo' // returnează 'string').

Am demonstrat acest lucru în următorul cod.

Mostră: sample59.html

 

Concluzie

Dacă programul dvs. depinde de tip de operator pentru a identifica valorile string, număr sau boolean în termenii acelor tipuri primitive, ar trebui să evitați Şir, Număr, și boolean constructori.

Cod