I've started using PowerShell to get some things done and played with the variable $null in PowerShell.
I've encountered the problem that when I assign the variable $null to a variable defined in a class, the test returns false not true.
Example Code:
class test {
[string]$test1
}
$test = [test]::new()
$test.test1 = $null
$null -eq $test2 # tests true
$null -eq $test.test1 # tests false
Now the test of the undefinded variable $test2 returns true as every undefined variable in PowerShell is assigned $null.
But if I test the property test1 of the object test which I assigned $null tests false for $null
Is it because in PowerShell $null is an object with the value $null and now the property of the object is not $null as it has the object $null assigned to it with an empty value?
I've read into the docs of Microsoft "Everything you wanted to know about $null", but it does not enlighten me.
If I do not initialize the variable, then it will test true for $null.