https://www.google.com/search?q=class+declarations+hoisted+site%3Aesdiscuss.org 
leads to 
https://esdiscuss.org/topic/in-es6-strict-mode-do-function-declarations-within-a-block-hoist
 as the first result which lays it out pretty clearly.

-----Original Message-----
From: es-discuss [mailto:es-discuss-boun...@mozilla.org] On Behalf Of Isiah 
Meadows
Sent: Thursday, October 16, 2014 20:53
To: es-discuss@mozilla.org
Subject: Unhoisted class declarations

I know it was touched on a recent thread 
(https://esdiscuss.org/topic/a-new-es6-draft-rev28), but is there a reason why 
class declarations aren't hoisted like function declarations? It is a little 
confusing to be to type (1) but not (2).

(1)
```js
foo(); // prints "Yay!"

function foo() {
  console.log('Yay!');
}
```

(2)
```js
new Foo().speak(); // Error

class Foo {
  constructor() {}

  speak() {
    console.log('Yay!');
  }
}
```

--
Isiah Meadows
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to