Yeah, it's quite easy to understand actually. Whatever you write between the "if" and the "then" will always be boolean; it's either
true or it is
false (or it's wrong and will cause an error =p). If it's true, it will go into the "then" part of the structure, and if it's false it will go into the "else" part.
To clarify:
JASS:
function Decisional takes nothing returns nothing
local integer a = GetRandomInt(1, 10)
if a > 5 then
call WhateverTheHell(i, want)
else
call SomethingElse(i, "might", want)
endif
endfunction
Let's say it will random 7 for our integer a, so it will make:
Obviously, 7 is greater then 5, which makes this statement
true and thus will go on to the "then" part of the structure.
Now if you would compare this to what you said you would do, you'd basicly write this:
That might look weird, because you don't use the ==true with integers probably, but it's just to give you an idea. It already checks if the statement is true or false, you don't have to check that yourself with the ==true.
I hope that clarifies it a bit ^^".