为什么Powershell匹配任何带有$ null的字符串

cat*_*tta 3 powershell null

在调试Powershell脚本时找到了这个.

PS C:\temp> "hello" -match $null  
True  
Run Code Online (Sandbox Code Playgroud)

> "hello" -eq $null returns False
Run Code Online (Sandbox Code Playgroud)

为什么,在使用时-match,任何字符串都匹配$null

Kei*_*ill 5

我相信这是因为$ null被强制转换为空字符串,因为-match需要RHS(右手边)上的字符串模式.一个空字符串将匹配任何东西.