Bicep 연산자

이 문서에서는 Bicep 연산자에 대해 설명합니다. 연산자는 값을 계산하거나, 값을 비교하거나, 조건을 평가하는 데 사용됩니다. Bicep 연산자에는 다음 여섯 가지 유형이 있습니다.

연산자 우선 순위 및 계산 방향

아래 연산자는 우선 순위의 내림차순으로 나열되어 있습니다(위에 나열된 연산자의 우선 순위가 더 높음). 동일한 수준에 나열된 연산자는 우선 순위가 같습니다.

기호 연산 형식 associativity
( ) [ ] . :: 괄호, 배열 인덱서, 속성 접근자, 중첩된 리소스 접근자 왼쪽에서 오른쪽
! - 단항 오른쪽에서 왼쪽
% * / 곱하기 왼쪽에서 오른쪽
+ - 더하기 왼쪽에서 오른쪽
<= < > >= 관계 왼쪽에서 오른쪽
== != =~ !~ 같음 왼쪽에서 오른쪽
&& 논리적 AND 왼쪽에서 오른쪽
|| 논리적 OR 왼쪽에서 오른쪽
?? Coalesce 왼쪽에서 오른쪽
? : 3개로 구성된 조건식 오른쪽에서 왼쪽

괄호

괄호 사이에 식을 포함하면 기본 Bicep 연산자 우선 순위를 재정의할 수 있습니다. 예를 들어, 식 x + y / z는 나누기를 먼저 평가한 다음, 더하기를 평가합니다. 그러나 식 (x + y) / z는 더하기를 먼저 평가하고 나누기를 두 번째로 평가합니다.

접근자

접근자 연산자는 중첩된 리소스와 개체 속성에 액세스하는 데 사용됩니다.

연산자 이름 설명
[] 인덱스 접근자 개체에서 배열 또는 속성의 요소에 액세스합니다.
. 함수 접근자 리소스에서 함수를 호출합니다.
:: 중첩된 리소스 접근자 부모 리소스 외부에서 중첩된 리소스에 액세스합니다.
. 속성 접근자 개체 속성에 액세스합니다.

비교

비교 연산자는 값을 비교하고 true 또는 false를 반환합니다.

연산자 이름 설명
>= 크거나 같음 첫 번째 값이 두 번째 값보다 크거나 같은지 평가합니다.
> 보다 큼 첫 번째 값이 두 번째 값보다 큰지 평가합니다.
<= 작거나 같음 첫 번째 값이 두 번째 값보다 작거나 같은지 평가합니다.
< 보다 작음 첫 번째 값이 두 번째 값보다 작은지 평가합니다.
== 같음 두 값이 같은지 평가합니다.
!= 같지 않음 두 값이 같지 않은지 평가합니다.
=~ 같음(대/소문자 구분 안 함) 두 값이 같은지 확인하기 위해 대/소문자를 무시합니다.
!~ 같지 않음(대/소문자 구분 안 함) 두 값이 같지 않은지 확인하기 위해 대/소문자를 무시합니다.

논리

논리 연산자는 부울 값을 평가하거나, null이 아닌 값을 반환하거나, 조건식을 평가합니다.

연산자 이름 설명
&& And 모든 값이 true이면 true를 반환합니다.
|| Or 한쪽 값이 true이면 true를 반환합니다.
! Not 부울 값을 부정합니다. 하나의 피연산자를 사용합니다.
?? Coalesce null이 아닌 첫 번째 값을 반환합니다.
? : 조건 식 True 또는 false의 조건을 평가하고 값을 반환합니다.

Null-forgiving

null-forgiving 연산자는 이전 식에 대한 모든 null 허용 경고를 표시하지 않습니다.

연산자 이름 설명
! Null-forgiving 이전 식에 대한 모든 null 허용 경고를 표시하지 않습니다.

숫자

숫자 연산자는 정수를 사용하여 계산을 수행하고 정수 값을 반환합니다.

연산자 이름 설명
* 곱하기 두 정수를 곱합니다.
/ Divide 정수를 정수로 나눕니다.
% 나머지 정수를 정수로 나누고 나머지를 반환합니다.
+ 추가 두 개의 정수를 더합니다.
- 빼기 한 정수를 또 다른 정수에서 뺍니다. 두 개의 피연산자를 사용합니다.
- 빼기(단항) 정수에 -1을 곱합니다. 하나의 피연산자를 사용합니다.

참고 항목

빼기(subtract) 및 빼기(minus)는 동일한 연산자를 사용합니다. 빼기(subtract)는 두 개의 피연산자를 사용하고 빼기(minus)는 피연산자 하나를 사용하기 때문에 기능이 서로 다릅니다.

Safe-dereference

safe-dereference 연산자는 존재 또는 값에 대한 적절한 지식 없이 속성 또는 요소에 액세스하려고 할 때 발생할 수 있는 오류를 방지하는 데 도움이 됩니다.

연산자 이름 설명
<base>.?<property>, <base>[?<index>] Safe-dereference 해당 피연산자가 null이 아닌 것으로 평가되는 경우에만 개체 멤버 액세스 또는 배열 요소 액세스 작업을 해당 피연산자에 적용할 수 있습니다. 그렇지 않으면 null을 반환합니다.

다음 단계