Operadores de bíceps

Este artigo descreve os operadores Bicep. Os operadores são usados para calcular valores, comparar valores ou avaliar condições. Existem seis tipos de operadores de bíceps:

Precedência e associatividade do operador

Os operadores abaixo estão listados em ordem decrescente de precedência (quanto maior a posição, maior a precedência). Os operadores enumerados ao mesmo nível têm igual precedência.

Símbolo Tipo de Operação Associatividade
( ) [ ] . :: Parênteses, indexadores de matriz, acessadores de propriedade e acessador de recursos aninhados Esquerda para a direita
! - Unário Da direita para a esquerda
% * / Multiplicativo Esquerda para a direita
+ - Aditivo Esquerda para a direita
<= < > >= Relacional Esquerda para a direita
== != =~ !~ Equality Esquerda para a direita
&& Lógica E Esquerda para a direita
|| Lógica OU Esquerda para a direita
?? Coalesce Esquerda para a direita
? : Expressão condicional (ternária) Da direita para a esquerda

Parênteses

Colocar uma expressão entre parênteses permite que você substitua a precedência padrão do operador Bicep. Por exemplo, a expressão x + y / z avalia primeiro a divisão e depois a adição. No entanto, a expressão (x + y) / z avalia a adição em primeiro lugar e a divisão em segundo.

Acessor

Os operadores de acessador são usados para acessar recursos aninhados e propriedades em objetos.

Operador Nome Descrição
[] Acessador de índice Acesse um elemento de uma matriz ou propriedade em um objeto.
. Função acessador Chamar uma função em um recurso.
:: Acessador de recursos aninhado Acesse um recurso aninhado de fora do recurso pai.
. Acesso à propriedade Acessar propriedades de um objeto.

Comparação

Os operadores de comparação comparam valores e retornam ou true false.

Operador Nome Descrição
>= Maior ou igual Avalia se o primeiro valor é maior ou igual ao segundo valor.
> Maior que Avalia se o primeiro valor é maior que o segundo.
<= Menor ou igual Avalia se o primeiro valor é menor ou igual ao segundo valor.
< Menos de Avalia se o primeiro valor é menor que o segundo.
== Igual Avalia se dois valores são iguais.
!= Não é igual Avalia se dois valores não são iguais.
=~ Igual não diferencia maiúsculas de minúsculas Ignora maiúsculas e minúsculas para determinar se dois valores são iguais.
!~ Não diferencia maiúsculas de minúsculas igual Ignora maiúsculas e minúsculas para determinar se dois valores não são iguais.

Lógico

Os operadores lógicos avaliam valores booleanos, retornam valores não nulos ou avaliam uma expressão condicional.

Operador Nome Descrição
&& And Retorna true se todos os valores forem verdadeiros.
|| Or Retorna true se qualquer um dos valores for true.
! Not Nega um valor booleano. Usa um operando.
?? Coalesce Retorna o primeiro valor não nulo.
? : Expressão condicional Avalia uma condição para true ou false e retorna um valor.

Tolerância nula

O operador null-forgiving suprime todos os avisos anuláveis para a expressão anterior.

Operador Nome Descrição
! Tolerância nula Suprime todos os avisos anuláveis para a expressão anterior.

Numérico

Os operadores numéricos usam inteiros para fazer cálculos e retornar valores inteiros.

Operador Nome Descrição
* Multiplicar Multiplica dois inteiros.
/ Dividir Divide um inteiro por um inteiro.
% Módulo Divide um inteiro por um inteiro e retorna o restante.
+ Adicionar Adiciona dois inteiros.
- Subtrair Subtrai um inteiro de outro inteiro. Usa dois operandos.
- Menos (unário) Multiplica um inteiro por -1. Usa um operando.

Nota

Subtrair e menos usar o mesmo operador. A funcionalidade é diferente porque subtrair usa dois operandos e menos usa um operando.

Desreferenciação segura

O operador de desreferência segura ajuda a evitar erros que podem ocorrer ao tentar acessar propriedades ou elementos sem o conhecimento adequado de sua existência ou valor.

Operador Nome Descrição
<base>.?<property>, <base>[?<index>] Desreferenciação segura Aplica um acesso de membro de objeto ou uma operação de acesso de elemento de matriz ao seu operando somente se esse operando for avaliado como não nulo, caso contrário, ele retornará null.

Espalhar

O operador spread é usado para expandir uma matriz ou objeto iterável em elementos individuais. O operador spread permite que você manipule facilmente matrizes ou objetos espalhando seus elementos ou propriedades em novas matrizes ou objetos.

Operador Nome Descrição
... Espalhar Permite a expansão de matrizes e objetos iteráveis em elementos ou propriedades individuais.

Próximos passos