Apa yang tidak disoroti oleh semua jawaban ini adalah ketika membandingkan nilai dengan $ null, Anda harus meletakkan $ null di sisi kiri, jika tidak, Anda mungkin mendapat masalah saat membandingkan dengan nilai tipe-koleksi. Lihat: https://github.com/nightroman/PowerShellTraps/blob/master/Basic/Comparison-operators-with-collections/looks-like-object-is-null.ps1
$value = @(1, $null, 2, $null)
if ($value -eq $null) {
Write-Host "$value is $null"
}
Blok di atas (sayangnya) dieksekusi. Yang lebih menarik adalah bahwa di Powershell, nilai $ bisa berupa $ null dan bukan $ null:
$value = @(1, $null, 2, $null)
if (($value -eq $null) -and ($value -ne $null)) {
Write-Host "$value is both $null and not $null"
}
Jadi, penting untuk meletakkan $ null di sisi kiri agar perbandingan ini berfungsi dengan collection:
$value = @(1, $null, 2, $null)
if (($null -eq $value) -and ($null -ne $value)) {
Write-Host "$value is both $null and not $null"
}
Saya rasa ini menunjukkan lagi kekuatan Powershell!