Dela via


Bicep-operatorer

I den här artikeln beskrivs Bicep-operatorerna. Operatorer används för att beräkna värden, jämföra värden eller utvärdera villkor. Det finns sex typer av Bicep-operatorer:

Operatorprioritet och associativitet

Operatorerna nedan visas i fallande prioritetsordning (desto högre position desto högre prioritet). Operatorer som anges på samma nivå har samma prioritet.

Symbol Typ av åtgärd Associativitet
( ) [ ] . :: Parenteser, matrisindexerare, egenskapsåtkomster och kapslad resursåtkomst Vänster till höger
! - Unär Höger till vänster
% * / Multiplicative Vänster till höger
+ - Tillsats Vänster till höger
<= < > >= Relation Vänster till höger
== != =~ !~ Tillämplig Vänster till höger
&& Logiskt OCH Vänster till höger
|| Logiskt ELLER Vänster till höger
?? Coalesce Vänster till höger
? : Villkorsuttryck (ternary) Höger till vänster

Parenteser

Om du omger ett uttryck mellan parenteser kan du åsidosätta standardprioritet för Bicep-operatorn. Uttrycket x + y / z utvärderar till exempel divisionen först och sedan tillägget. Uttrycket (x + y) / z utvärderar dock tillägget först och division två.

Accessor

Accessoroperatorerna används för att komma åt kapslade resurser och egenskaper för objekt.

Operator Name beskrivning
[] Indexåtkomst Få åtkomst till ett element i en matris eller egenskap i ett objekt.
. Funktionsåtkomst Anropa en funktion på en resurs.
:: Kapslad resursåtkomstor Få åtkomst till en kapslad resurs utanför den överordnade resursen.
. Egenskapsåtkomst Åtkomstegenskaper för ett objekt.

Jämförelse

Jämförelseoperatorerna jämför värden och returnerar antingen true eller false.

Operator Name beskrivning
>= Större än eller lika med Utvärderar om det första värdet är större än eller lika med det andra värdet.
> Större än Utvärderar om det första värdet är större än det andra värdet.
<= Mindre än eller lika med Utvärderar om det första värdet är mindre än eller lika med det andra värdet.
< Mindre än Utvärderar om det första värdet är mindre än det andra värdet.
== Motsvarar Utvärderar om två värden är lika med.
!= Inte lika med Utvärderar om två värden inte är lika med.
=~ Lika skiftlägesokänsligt Ignorerar skiftläge för att avgöra om två värden är lika med.
!~ Inte lika skiftlägesokänsligt Ignorerar skiftläge för att avgöra om två värden inte är lika med.

Logiskt

De logiska operatorerna utvärderar booleska värden, returnerar värden som inte är null eller utvärderar ett villkorsuttryck.

Operator Name beskrivning
&& och Returnerar true om alla värden är sanna.
|| eller Returnerar true om något av värdena är sant.
! Not Negerar ett booleskt värde. Tar en operand.
?? Sammansmälta Returnerar det första värdet som inte är null.
? : Villkorsuttryck Utvärderar ett villkor för sant eller falskt och returnerar ett värde.

Null-förlåtande

Operatorn null-forgiving undertrycker alla nullbara varningar för föregående uttryck.

Operator Name beskrivning
! Null-förlåtande Undertrycker alla nullbara varningar för föregående uttryck.

Numerisk

De numeriska operatorerna använder heltal för att göra beräkningar och returnera heltalsvärden.

Operator Name beskrivning
* Multiplicera Multiplicerar två heltal.
/ Dela Delar upp ett heltal med ett heltal.
% Modulo Delar upp ett heltal med ett heltal och returnerar resten.
+ Lägg till Lägger till två heltal.
- Subtrahera Subtraherar ett heltal från ett annat heltal. Tar två operander.
- Minus (unary) Multiplicerar ett heltal -1med . Tar en operand.

Kommentar

Subtrahera och minus använd samma operator. Funktionen skiljer sig eftersom subtrahera använder två operander och minus använder en operand.

Safe-dereference

Operatorn safe-dereference hjälper till att förhindra fel som kan uppstå när du försöker komma åt egenskaper eller element utan att känna till deras existens eller värde.

Operator Name beskrivning
<base>.?<property>, <base>[?<index>] Safe-dereference Tillämpar en objektmedlemsåtkomst eller en åtkomståtgärd för matriselement på dess operand endast om operanden utvärderas till icke-null, annars returnerar nullden .

Sprida

Spridningsoperatorn används för att expandera en iterbar matris eller ett objekt till enskilda element. Med spridningsoperatorn kan du enkelt ändra matriser eller objekt genom att sprida deras element eller egenskaper till nya matriser eller objekt.

Operator Name beskrivning
... Sprida Gör det möjligt att utöka iterbara matriser och objekt till enskilda element eller egenskaper.

Nästa steg