Operator Bicep

Artikel ini menjelaskan operator Bicep. Operator digunakan untuk menghitung nilai, membandingkan nilai, atau mengevaluasi kondisi. Ada enam jenis operator Bicep:

Asosiasivitas dan prioritas operator

Operator di bawah ini tercantum dalam urutan prioritas menurun (semakin tinggi posisi, semakin tinggi prioritas). Operator yang tercantum pada tingkat yang sama memiliki prioritas yang sama.

Simbol Jenis Operasi Asosiasivitas
( ) [ ] . :: Tanda kurung, pengindeks array, pengakses properti, dan pengakses sumber daya berlapis Kiri ke kanan
! - Unary Kanan ke kiri
% * / Perkalian Kiri ke kanan
+ - Penambahan Kiri ke kanan
<= < > >= Relasional Kiri ke kanan
== != =~ !~ Persamaan Kiri ke kanan
&& Logika AND Kiri ke kanan
|| Logika OR Kiri ke kanan
?? Coalesce Kiri ke kanan
? : Ungkapan bersyarat (terner) Kanan ke kiri

Tanda Kurung

Menyertakan ekspresi di antara tanda kurung memungkinkan Anda mengganti prioritas operator Bicep default. Misalnya, ekspresi x + y / z mengevaluasi pembagian terlebih dahulu, lalu penjumlahan. Namun, ekspresi (x + y) / z mengevaluasi penjumlahan terlebih dahulu, lalu pembagian.

Pengakses

Operator pengakses digunakan untuk mengakses sumber daya berlapis dan properti pada objek.

Operator Nama Deskripsi
[] Pengakses indeks Mengakses elemen array atau properti pada suatu objek.
. Pengakses fungsi Menghubungi fungsi pada sumber daya.
:: Pengakses sumber daya berlapis Akses sumber daya berlapis dari luar sumber daya induk.
. Pengakses properti Mengakses properti suatu objek.

Perbandingan

Operator perbandingan membandingkan nilai dan menampilkan salah satu dari true atau false.

Operator Nama Deskripsi
>= Lebih besar dari atau sama dengan Memeriksa apakah nilai pertama lebih besar atau sama dengan nilai kedua.
> Lebih besar dari Memeriksa apakah nilai pertama lebih besar dari nilai kedua.
<= Less dari atau sama dengan Memeriksa apakah nilai pertama lebih kecil atau sama dengan nilai kedua.
< Less dari Memeriksa apakah nilai pertama lebih kecil dari nilai kedua.
== Sama dengan Mengevaluasi apakah dua nilai sama.
!= Tidak sama dengan Mengevaluasi apakah dua nilai tidak sama.
=~ Tidak peka huruf besar atau kecil sama dengan Mengabaikan kasus untuk menentukan apakah dua nilai sama.
!~ Tidak peka huruf besar atau kecil tidak sama dengan Mengabaikan kasus untuk menentukan apakah dua nilai tidak sama.

Logis

Operator logis mengevaluasi nilai boolean, menampilkan nilai bukan null, atau mengevaluasi ekspresi bersyarat.

Operator Nama Deskripsi
&& Dan Menampilkan true jika semua nilai benar.
|| Atau Menampilkan true jika salah satu nilai benar.
! Tidak Meniadakan nilai boolean. Ambil satu operand.
?? Gabungkan Menampilkan nilai bukan null pertama.
? : Ekspresi bersyarat Mengevaluasi kondisi untuk benar atau salah dan menampilkan nilai.

Pengampunan null

Operator pengampunan null menekan semua peringatan null untuk ekspresi sebelumnya.

Operator Nama Deskripsi
! Pengampunan null Menyembunyikan semua peringatan yang dapat diubah ke null untuk ekspresi sebelumnya.

Numerik

Operator numerik menggunakan bilangan bulat untuk melakukan penghitungan dan menampilkan nilai bilangan bulat.

Operator Nama Deskripsi
* Perkalian Mengalikan dua bilangan bulat.
/ Pembagian Membagi bilangan bulat dengan bilangan bulat.
% Modulo Membagi bilangan bulat dengan bilangan bulat dan menampilkan sisanya.
+ Penjumlahan Menambahkan dua bilangan bulat.
- Pengurangan Kurangi satu bilangan bulat dari bilangan bulat lain. Ambil dua operand.
- Minus (unary) Mengalikan bilangan bulat dengan -1. Ambil satu operand.

Catatan

Pengurangan dan minus menggunakan operator yang sama. Fungsinya berbeda karena pengurangan menggunakan dua operand dan minus menggunakan satu operand.

Dereferensi aman

Operator dereferensi aman membantu mencegah kesalahan yang dapat terjadi saat mencoba mengakses properti atau elemen tanpa pengetahuan yang tepat tentang keberadaan atau nilainya.

Operator Nama Deskripsi
<base>.?<property>, <base>[?<index>] Dereferensi aman Menerapkan akses anggota objek atau operasi akses elemen array ke operand-nya hanya jika operand tersebut mengevaluasi ke non-null, jika tidak, itu mengembalikan null.

Langkah berikutnya