Bicep-operatorer

Den här artikeln beskriver 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
! - Enställig Höger till vänster
% * / Multiplikativ Vänster till höger
+ - Additiv Vänster till höger
<= < > >= Relation Vänster till höger
== != =~ !~ Likhet Vänster till höger
&& Logiskt AND Vänster till höger
|| Logiskt OR Vänster till höger
?? Coalesce Vänster till höger
? : Villkorsuttryck (ternary) Höger till vänster

Parentes

Om du omsluter 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

Accessor-operatorerna 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åtkomst 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.
== Lika med Utvärderar om två värden är lika.
!= 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.
!~ 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 sanna.
! Inte Negera ett booleskt värde. Tar en operand.
?? Sammansting 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 utelämnar alla nullbara varningar för föregående uttryck.

Operator Name Beskrivning
! Null-förlåtande Utelämnar alla null-varningar för föregående uttryck.

Numerisk

De numeriska operatorerna använder heltal för att utfö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.

Anteckning

Subtrahera och minus använd samma operator. Funktionen är annorlunda 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 Använder en objektmedlemsåtkomst eller en matriselementåtkomståtgärd på dess operand endast om operand utvärderas till icke-null, annars returneras null.

Nästa steg