Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tingkat Keparahan : Informasi
Deskripsi
Dalam banyak bahasa pemrograman, operator kesetaraan ditandai sebagai == atau =, tetapi PowerShell menggunakan -eq. Oleh karena itu, dapat dengan mudah terjadi bahwa operator yang salah digunakan secara tidak sengaja. Aturan ini menangkap beberapa kasus khusus di mana kemungkinan itu cukup tinggi.
Aturan ini mencari penggunaan operator == dan = di dalam pernyataan if, else if, while dan do-while tetapi tidak memperingatkan jika ada jenis perintah atau ekspresi yang digunakan di sisi kanan karena ini mungkin berdasarkan desain.
Contoh
Salah
if ($a = $b)
{
...
}
if ($a == $b)
{
}
Benar
if ($a -eq $b) # Compare $a with $b
{
...
}
if ($a = Get-Something) # Only execute action if command returns something and assign result to variable
{
Do-SomethingWith $a
}
Supresi implisit menggunakan gaya Clang
Ada beberapa kasus langka di mana penugasan variabel di dalam pernyataan if dirancang.
Alih-alih menekan aturan, seseorang juga dapat memberi sinyal bahwa penugasan disengaja dengan membungkus ekspresi dalam tanda kurung tambahan. Pengecualian untuk ini adalah ketika $null digunakan pada LHS karena tidak ada kasus penggunaan untuk ini.
if (($shortVariableName = $SuperLongVariableName['SpecialItem']['AnotherItem']))
{
...
}