How do I prevent typos in property names of Objects?


It tooks me an hour to found simple typo in statement “$file.Trim().lenth -gt 0” where $file is just String object. Obviously I would not be able even to compile this if this would be .NET application but in powershell it did not do anything at all and just returned $false for that statement.
There is no solution in Powershell for this issue and I just need to be very carefull or there is some sort of “Option Explicit” or similar I can define to raise Exception on trying to get Property which does not exist?



Set-StrictMode -Version Latest

This does a number of things, one of which is producing an error when you try to access a non-existent property.

Also try to get in the habit of using Tab completion. When it’s available, it’ll help prevent typos like that.

Tab completion does not work if it’s not property of defined object
$a.Length works but $a.Trim().Length does not