論理式の全体評価の予測
VBScript プログラム言語では、ブール式のショートサーキット評価は行いません。VBScript では、すべての条件を評価せずにブール式の結果が True または False であることを特定できる場合でも、すべての条件を評価します。たとえば次の場合、<statement1>が False であっても、<statement1>と<statement2>は評価されます。
<statement 1> AND <statement 2>
ベスト・プラクティス
エラーを避けるために、値とオブジェクトは使用前に必ず Null でないことを確認します。
次に例を示します。
- 論理式の正しい使用方法と誤った使用方法
- 論理式の評価方法を考慮
value.Name は、値が Null の場合であっても評価されています。これにより、エラーが発生します。
Sub namecheck(value) If Not IsNull(value) And value.Name = "aName" Then ' ... End If End Sub
value が Name プロパティを含むオブジェクトである場合、コードは正しいと評価されます。このコードを実行してもエラーは発生しません。
Sub namecheck(value) If Not IsNull(value) And Not IsEmpty(value) Then If value.Name = "aName" Then ' ... End If End If End Sub

