Implicit Boolean
Implicit Boolean is a feature that allows conditions to be simplified. A value that is not Boolean but is tested as if it were true or false is an implicit Boolean. For example, the following if
statement tests the output from a command:
if (Get-ChildItem c:\users\a*) {
# If statement body
}
The condition evaluates as true when the Get-ChildItem
command finds one or more files or folders. The condition evaluates as false when no files or folders are found.
An explicit version of the same comparison is shown here:
if ($null -ne (Get-ChildItem c:\users\c*)) {
# If statement body
}
The explicit statement above is more complex and arguably more difficult to read.
A condition with no comparison operator implicitly evaluates to false if it is any of the following:
$null
- An empty string
- An empty array
- The numeric value 0
A variable containing a single object, or an array containing one or more elements, and so on, evaluates to true.
switch...