1enum ATrue { 2 IsTrue = 1, 3 IsFalse = 0 4} 5 6if (false) { 7 console.info('unreachable') 8} else if (true) { 9 console.info('reachable') 10} else { 11 console.info('unreachable') 12} 13 14function branch (a: ATrue) { 15 if (a === ATrue.IsFalse) { 16 console.info('a = false') 17 } else if (a === ATrue.IsTrue) { 18 throw Error('an exception'); 19 } else { 20 console.info('a = ???') 21 } 22} 23 24branch(ATrue.IsTrue) 25