Arbeid med primitiv streng, tall og boolske verdier

Ikke vær mystified av det faktum at streng, tall og boolske bokstaver kan behandles som et objekt med egenskaper (f.eks.., true.toString ()). Når disse primitive verdiene blir behandlet som objekter ved å forsøke å få tilgang til egenskapene, vil JavaScript opprette et wrapperobjekt fra primitivens tilhørende konstruktør, slik at egenskapene og metodene til wrapper-objektet kan nås.

Når egenskapene er tilgjengelig, blir wrapper-objektet kassert. Denne konverteringen tillater oss å skrive kode som ville få det til å virke som om en primitiv verdi faktisk var et objekt. Sannheten blir fortalt, når den blir behandlet som et objekt i kode, vil JavaScript konvertere det til et objekt slik at tilgangen til eiendom vil fungere, og deretter konvertere den tilbake til en primitiv verdi når en verdi er returnert. Nøkkelen til å merke seg her er hva som skjer, og at JavaScript gjør dette for deg bak kulissene.


Primitive Value Samples

Her er noen eksempler for å demonstrere hva jeg snakker om:

Stringseksempel: sample56.html

 

Nummerprøve: sample57.html

 

Boolsk prøve: sample58.html

 

Når du får tilgang til en egenskap direkte på et primitivt nummer (ikke lagret i en variabel), må du først vurdere tallet før verdien blir behandlet som et objekt (f.eks.., (1) .toString (); eller 1 ... toString ();). Hvorfor to prikker? Den første prikken betraktes som et numerisk desimal, ikke en operatør for tilgang til objektegenskaper.


Du bør typisk bruke primitive streng, tall og boolske verdier

De bokstavlige / primitive verdiene som representerer en streng, tall eller boolsk er raskere å skrive og er mer konsise i bokstavelig form.

Du bør bruke bokstavelig verdi på grunn av dette. I tillegg, nøyaktigheten av typeof Operatør avhenger av hvordan du lager verdien (bokstavelig versus konstruktørinnkalling). Hvis du lager en streng, et nummer eller et boolesk objekt, vil typeof Operatør rapporterer typen som et objekt. Hvis du bruker bokstavene, typeof operatør returnerer et strengnavn for den faktiske verditypen (f.eks., typeof 'foo' // returnerer streng ').

Jeg demonstrerer dette faktum i følgende kode.

Eksempel: sample59.html

 

Konklusjon

Hvis programmet ditt er avhengig av typeof operatør for å identifisere streng, tall eller boolske verdier i form av de primitive typene, bør du unngå string, Nummer, og boolean konstruktører.