Operatorer

Bliv fortrolig med beregninger, sammenligninger og logik i Dynamic Expressions.

Operatører er vigtige byggesten i Dynamic Expressions, som gør det muligt at udføre beregninger, sammenligninger og logiske evalueringer. Disse symboler gør det muligt for dit workspace at behandle data, træffe beslutninger og skabe interaktivt indhold.

Aritmetiske operatorer‍

Udfør grundlæggende matematiske operationer.

  • + (addition): Lægger to tal sammen eller sammenkæder tekststrenge.
    • Eksempel: {{ 2 + 3 }} → 5
    • Eksempel: {{ "Hello, " + sessionUser.name }} → Hello, John
  • - (subtraktion): Trækker ét tal fra et andet.
    • Eksempel: {{ 10 - 4 }} → 6
  • * (multiplikation): Ganger to tal.
    • Eksempel: {{ 5 * 3 }} → 15
  • / (division): Dividerer ét tal med et andet.
    • Eksempel: {{ 10 / 2 }} → 5
    • Bemærk: Division med nul giver en fejl.
  • % (rest): Returnerer resten af en division.
    • Eksempel: {{ 10 % 3 }} → 1
  • ** (potensering): Opløfter et tal i potensen af et andet.
    • Eksempel: {{ 2 ** 3 }} → 8

Sammenligningsoperatorer‍

Bruges til at sammenligne værdier og returnere sand eller falsk.

  • == (lighed): Kontrollerer, om to værdier er ens.
    • Eksempel: {{ 2 + 2 == 4 }} → true
  • != (ulighed): Kontrollerer, om to værdier ikke er ens.
    • Eksempel: {{ sessionUser.stats.ideas != 0 }} → true
  • > (Større end): Kontrollerer, om værdien til venstre er større end værdien til højre.
    • Eksempel: {{ sessionUser.stats.likes > 10 }} → true
  • >= (Større end eller lig med): Kontrollerer, om værdien til venstre er større end eller lig med værdien til højre.
    • Eksempel: {{ 5 >= 5 }} → true
  • < (Mindre end): Kontrollerer, om værdien til venstre er mindre end værdien til højre.
    • Eksempel: {{ 3 < 10 }} → true
  • <= (Mindre end eller lig med): Kontrollerer, om værdien til venstre er mindre end eller lig med værdien til højre.
    • Eksempel: {{ sessionUser.stats.ideas <= 20 }} → true

Logiske operatorer

‍Bruges til at kombinere flere betingelser.

  • && (OG): Returnerer true, hvis begge betingelser er true.
    • Eksempel: {{ sessionUser.stats.likes > 10 && sessionUser.stats.ideas > 5 }} → true, hvis begge betingelser er opfyldt.
  • || (ELLER): Returnerer true, hvis mindst én betingelse er true.
    • Eksempel: {{ sessionUser.rank == 3000 || sessionUser.rank == 5000 }} → true, hvis brugeren er administrator eller ejer.
  • ! (IKKE): Vender sandhedsværdien af en betingelse om.
    • Eksempel: {{ !(2 + 2 == 5) }} → true

‍Betinget operator

Nogle gange vil du måske udføre betingede grene af dine formler afhængigt af kontekstuelle data. Du vil for eksempel måske:

  • Bruge forskellige oversættelsesnøgler i beskrivelsen af din idesamling afhængigt af den aktuelle brugers rang.
  • Angive forskellige værdier for en ide i en automatiseringshandling afhængigt af, om den har mere end et bestemt antal kommentarer.

Du kan bruge den betingede operator i dine dynamiske udtryk til at opnå dette. Den betingede operator er særlig, fordi den accepterer tre operander.

Den har følgende struktur: <condition> ? <when-true> : <when-false>

Her er et enkelt eksempel: {{ sessionUser.stats.likes > 10 ? "Top-contributor" : "Rookie" }}

Du kan placere hvad som helst i de to grene af den betingede operator, herunder brugerdefinerede oversættelsesvariabler eller komplekse indlejrede formler.

Du kan for eksempel bruge forskellige brugerdefinerede oversættelsesvariabler afhængigt af den aktuelle brugers rang:

{{ sessionUser.rank >= 3000 ? (sessionUser.stats.ideas > 20 ? "Super Admin" : "Admin") : "Member" }}

Grupperingsoperatorer

Bruges til at styre rækkefølgen af operationer ved at gruppere udtryk med parenteser ().

  • Eksempel: {{ (2 + 3) * 4 }} → 20
  • Uden parenteser: {{ 2 + 3 * 4 }} → 14
  • Bemærk: Multiplikation har forrang.

Tips til fejlhåndtering for operatorer

  • Undgå division med nul: For at undgå fejl ved division med en variabel, der kan være nul, skal du bruge en fallback-logik med funktioner som MAX() eller betingelser.
    • Eksempel: I stedet for {{ 10 / variable }}, brug:{{ 10 / MAX(variable, 1) }} — sikrer, at divisoren er mindst 1.
    • Eksempel med en betingelse: {{ variable != 0 ? 10 / variable : "Undefined (Division by zero)" }} — viser en reservemeddelelse, når divisoren er nul.‍
  • Kontrollér dine parenteser: Sørg for at lukke alle åbne parenteser.
  • Brug logiske operatorer med omtanke: Kontrollér betingelserne igen for at undgå uventede resultater.

Ved at mestre operatorer kan du oprette mere komplekse og engagerende dynamiske udtryk, så dit workspace kan reagere intelligent på data og brugerinteraktioner.