基本構文(8)

参考:MSH Language and Syntax


文字列と数値が混在した加算結果を代入する際、代入される値の型は「文字列型」か?「数値型」か?

型の自動変換

文字列と数値が混在した加算結果を代入する際、
「右辺の最初の要素」の型が、代入される値の型になります。

MSH> $a = "6"
MSH> $a += 3
MSH> Write-Host $a
63
  • 「$a += 3」は「$a = $a + 3」と同じ意味です。
  • 「右辺の最初の要素」は「$a」(文字列)なので、計算は文字列結合で行います。
MSH> $a = "6"
MSH> $a = 0 + $a + 3
MSH> Write-Host $a
9
  • 「右辺の最初の要素」は「0」(数値)なので、数値計算を行います。
MSH> $a = "6"
MSH> $a = [int]$a + 3
MSH> Write-Host $a
9
  • 「右辺の最初の要素」は「[int]$a」です。
  • 「[int]$a」はintにキャストされて数値型になるので、数値計算を行います。