如果我有一个没有类型约束的函数参数:
> function a ($s=$null) {if ($s -eq $null) {Write-Host "HI"} if ($s -eq "") {Write-Host "KK"}}
> a
HI
现在,如果我向它添加类型约束,则 $null 的解释会有所不同:
> function a ([string]$s=$null) {if ($s -eq $null) {Write-Host "HI"} if ($s -eq "") {Write-Host "KK"}}
> a
KK
我找不到解释这一点的文档。也不一致。