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

Följande operatorer 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
% * / Multiplikativ Vänster till höger
+ - Tillsats Vänster till höger
<= < > >= Relationell Vänster till höger
== != =~ !~ Jämlikhet Vänster till höger
&& Logiskt OCH Vänster till höger
|| Logiskt ELLER Vänster till höger
?? Sammansmälta 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.

Operatör Namn Beskrivning
[] Indexåtkomst Få åtkomst till ett element i en matris eller egenskap i ett objekt.
[^index] Omvänd indexåtkomst Öppnar ett matriselement efter index och räknar från slutet av matrisen (1-baserad från slutet).
. 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.

Operatör Namn 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.
== är lika med 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.

Operatör Namn Beskrivning
&& och Returnerar true om alla värden är sanna.
|| Eller Returnerar true om något av värdena är sant.
! Inte 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.

Operatör Namn 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.

Operatör Namn 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.

Anmärkning

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.

Operatör Namn 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.

Operatör Namn Beskrivning
... Sprida Gör det möjligt att utöka iterbara matriser och objekt till enskilda element eller egenskaper.

Nästa steg