Andreas Rossberg (2014-06-05T15:54:16.000Z)
domenic at domenicdenicola.com (2014-06-10T19:04:38.517Z)
Yes, that is valid. Function bindings are initialised when entering a scope, all other declarations when their respective statement is executed -- before that any access will cause a ReferenceError (the so-called temporal dead zone). In particular, classes don't "hoist", because their extends clause has to be evaluated at the right point in time.