Operadores de Bicep

En este artículo, se describen los operadores de Bicep. Los operadores se usan para calcular valores, comparar valores o evaluar condiciones. Hay seis tipos de operadores de Bicep:

Prioridad y asociatividad de los operadores

Los operadores siguientes se enumeran en orden descendente de precedencia (cuanto mayor sea la posición, mayor será la precedencia). Los operadores que aparecen en el mismo nivel tienen la misma precedencia.

Símbolo Tipo de operación asociatividad
( ) [ ] . :: Paréntesis, indexadores de matriz, descriptores de acceso de propiedades y descriptores de acceso de recursos anidados De izquierda a derecha
! - Unario De derecha a izquierda
% * / Multiplicativo De izquierda a derecha
+ - Aditivo De izquierda a derecha
<= < > >= Relacional De izquierda a derecha
== != =~ !~ Igualdad De izquierda a derecha
&& Y lógico De izquierda a derecha
|| O lógico De izquierda a derecha
?? Coalesce De izquierda a derecha
? : Expresión condicional (ternaria) De derecha a izquierda

Paréntesis

Encerrar una expresión entre paréntesis permite invalidar la precedencia predeterminada del operador Bicep. Por ejemplo, la expresión x + y / z evalúa primero la división y, después, la suma. Sin embargo, la expresión(x + y) / z evalúa la suma primero y la división después.

Descriptor de acceso

Los operadores de los descriptores de acceso se usan para acceder a recursos anidados y propiedades de los objetos.

Operator Nombre Descripción
[] Descriptor de acceso de índice Acceda a un elemento de una matriz o propiedad en un objeto.
. Descriptor de acceso de funciones Llame a una función en un recurso.
:: Descriptor de acceso de recursos anidados Acceda a un recurso anidado desde fuera del recurso primario.
. Descriptor de acceso de propiedades Propiedades de acceso de un objeto.

De comparación

Los operadores de comparación comparan valores y devuelven true o false.

Operator Nombre Descripción
>= Mayor que o igual a Determina si el primer valor es mayor o igual que el segundo.
> Mayor que Determina si el primer valor es mayor que el segundo.
<= Menor que o igual a Determina si el primer valor es menor o igual que el segundo.
< Menor que Determina si el primer valor es menor que el segundo.
== Es igual a Determina si dos valores son iguales.
!= No igual a Determina si dos valores no son iguales.
=~ Igual sin distinción de mayúsculas y minúsculas Determina si dos valores son iguales sin tener en cuenta la distinción entre mayúsculas y minúsculas.
!~ No es igual sin distinción de mayúsculas y minúsculas Determina si dos valores no son iguales sin tener en cuenta la distinción entre mayúsculas y minúsculas.

Lógicos

Los operadores lógicos evalúan valores booleanos, devuelven valores que no son NULL o evalúan expresiones condicionales.

Operator Nombre Descripción
&& Y Devuelve true si todos los valores son TRUE.
|| O Devuelve true si alguno de los valores es TRUE.
! Not Niega un valor booleano. Toma un operando.
?? Fusionar Devuelve el primer valor que no es NULL.
? : Expresión condicional Determina si una condición es TRUE o FALSE y devuelve un valor.

Null-forgiving

El operador que admite valores NULL suprime todas las advertencias que admite un valor NULL para la expresión anterior.

Operator Nombre Descripción
! Null-forgiving Suprime todas las advertencias que admite un valor NULL para la expresión anterior.

Numeric

Los operadores numéricos usan enteros para realizar cálculos y devolver valores enteros.

Operator Nombre Descripción
* Multiplicar Multiplica dos enteros.
/ Dividir Divide un entero por otro.
% Módulo Divide un entero por otro y devuelve el resto.
+ Add (Agregar) Suma dos enteros.
- Restar Resta un entero de otro entero. Toma dos operandos.
- Menos (unario) Multiplica un entero por -1. Toma un operando.

Nota

"Restar" y "Menos" utilizan el mismo operador. La funcionalidad es diferente porque "Restar" utiliza dos operandos, mientras que "Menos" solo utiliza uno.

Desreferencia segura

El operador de desreferencia segura ayuda a evitar errores que pueden producirse al intentar acceder a propiedades o elementos sin tener un conocimiento adecuado de su existencia o valor.

Operator Nombre Descripción
<base>.?<property>, <base>[?<index>] Desreferencia segura Aplica una operación de acceso a miembro de objeto o de acceso a elemento de matriz a su operando solo si dicho operando se evalúa como no nulo; en caso contrario, devuelve null.

Pasos siguientes