Consider following code
class Foo { bar() { return 1 } } const foo = new Foo foo.bar()
Now consider that for some reason we want to include a type assertion, rather than just foo we want foo as Foo.
class Foo { bar() { return 1 } } const foo = new Foo (foo as Foo).bar()
Surprisingly, this one doesn't compile, the error points to the last line and says
Block-scoped variable 'foo' used before its declaration
As always, your goal is to explain the unexpected behavior here.
No comments:
Post a Comment