JavaScript Academy · leksjon

Opprette unike Symbol-verdier

Generer garantert unike verdier.

Leksjon 1 av 413 trinn

Opprette unike Symbol-verdier er en gratis leksjon i JavaScript Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i JavaScript Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i JavaScript Academy inneholder totalt 4 leksjoner.

Hva er et Symbol

Et Symbol er en primitiv type som ble introdusert i moderne JavaScript. Hvert symbol er unikt, selv om to symboler har samme beskrivelse.

const s = Symbol()
console.log(typeof s)

Opprette et Symbol

De oppretter et symbol ved å kalle Symbol-funksjonen. Den er ikke en konstruktør, så De skal aldri bruke new sammen med den.

const id = Symbol()
console.log(typeof id)

Valgfri beskrivelse

De kan oppgi en beskrivelsesstreng for å gjøre feilsøking enklere. Beskrivelsen er bare informativ og påvirker ikke unikheten.

const id = Symbol("user id")
console.log(id.description)

Alle symboler er unike

To symboler er aldri like, selv med identiske beskrivelser. Denne garanterte unikheten er deres viktigste kjennetegn.

const a = Symbol("x")
const b = Symbol("x")
console.log(a === b)

Ingen new-nøkkelord

Det oppstår en feil når Symbol kalles med new, fordi symboler er primitive verdier og ikke objekter. Kall den alltid som en vanlig funksjon.

const s = Symbol("ok")
console.log(typeof s === "symbol")

Symboler er primitive verdier

typeof for et symbol er strengen symbol. I likhet med andre primitive verdier er symboler uforanderlige og har ingen egenskaper som kan endres.

const s = Symbol("p")
console.log(typeof s)

Lese beskrivelsen

description-egenskapen returnerer teksten De oppga, eller undefined hvis De ikke oppga noen. Den er skrivebeskyttet.

const named = Symbol("hello")
const anon = Symbol()
console.log(named.description)
console.log(anon.description)

Symboler kan ikke konverteres automatisk til strenger

Symboler konverteres ikke implisitt til strenger, noe som hindrer utilsiktet feilbruk. Bruk String eller toString for å hente ut tekst med hensikt.

const s = Symbol("tag")
console.log(String(s))
console.log(s.toString())

Bruke symboler som konstanter

Symboler egner seg svært godt som unike konstantverdier, for eksempel for å representere ulike tilstander som aldri kan kollidere.

const RED = Symbol("red")
const GREEN = Symbol("green")
console.log(RED === GREEN)

Lagre symboler

Du kan lagre symboler i variabler og arrayer, og som verdier i objekter. Unikheten følger med dem.

const states = [Symbol("on"), Symbol("off")]
console.log(states.length)
console.log(states[0] === states[1])

Hvorfor unikhet er viktig

Fordi ingen to symboler kolliderer, egner de seg svært godt som nøkler som aldri må komme i konflikt med annen kode. Dette utforsker vi i neste leksjon.

const key1 = Symbol("meta")
const key2 = Symbol("meta")
const obj = {}
obj[key1] = "a"
obj[key2] = "b"
console.log(obj[key1], obj[key2])

Kort kontroll

Test kunnskapene dine om hvordan symboler opprettes.

Oppsummering

Oppsummering: Symboler er unike primitive verdier.

  • Opprettes ved å kalle Symbol, aldri med new
  • En valgfri beskrivelse hjelper bare ved feilsøking
  • Hvert symbol er unikt
  • typeof for et symbol er symbol
const a = Symbol("x")
const b = Symbol("x")
console.log(a === b)
Gratis å komme i gang

Lær deg JavaScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
59
Leksjoner
200

Ofte stilte spørsmål

Er leksjonen «Opprette unike Symbol-verdier» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien JavaScript Academy, inkludert «Opprette unike Symbol-verdier», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i JavaScript Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Opprette unike Symbol-verdier»?

Generer garantert unike verdier. Du øver på JavaScript Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med JavaScript Academy?

Ingen tidligere erfaring er nødvendig. JavaScript Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Opprette unike Symbol-verdier»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne JavaScript Academy-leksjonen?

Ja. Alle JavaScript Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Opprette unike Symbol-verdier
  2. Symboler som objektnøkler
  3. Det globale Symbol-registeret
  4. Velkjente symboler
← Tilbake til JavaScript Academy