Is my understanding correct?
Yes, your interpretation is correct.
Is using this better or multiple if/else checks?
As you know the code:
if ( a ? b ? c : d : false) { "Code-1" } else { "Code-2" } could be written like:
if(a){ if(b){ if (c){ "code-1" } else{ "code-2" } } else{ if(d){ "code-1" } else{ "code-2" } } } else{ //then false; "Code-2" } Now which you will prefer in above two. Second is long and includes many nested level code (hard to understand and bug). Additionally first code that can be improved in readability as:
if ( a ? (b ? c : d) : false) as @ManikandanSigamani answered.
As I noted @WhozCraig also give an another technique to write your code better if (a && (b ? c : d)) using && that supports Short-Circuit logic.
A good programmer is one who know one than one technique to solve a problem and also know which is better. A short and linear codding is preferable in general. In small writing small code chances of making mistakes are less (looks like functional programming better then imperative programming). And small code easily can improved as in your case suggested by @ManikandanSigamani and @WhozCraig.
I will prefer: if (a && (b ? c : d)) form!