Because let x: y is syntactically unambiguous, but you need to know that y names a type in order to correctly parse y x. (Or at least that’s the case in C where a(b) may be a variable declaration or a function call depending on what typedefs are in scope.)
Can’t say I’ve ever experienced this kind of confusion in Java but that’s probably because they intentionally restricted the syntax so there’s no ambiguity.
Because
let x: y
is syntactically unambiguous, but you need to know thaty
names a type in order to correctly parsey x
. (Or at least that’s the case in C wherea(b)
may be a variable declaration or a function call depending on what typedefs are in scope.)Can’t say I’ve ever experienced this kind of confusion in Java but that’s probably because they intentionally restricted the syntax so there’s no ambiguity.
I think he means that of you initialize the variables, it becomes simpler but still unambiguous