Le 17 oct. 2014 à 08:54, Isiah Meadows <[email protected]> a écrit :

> I was more looking for the rationale behind it. I know it currently
> doesn't hoist.

In the discussion pointed by Domenic, it is explained why classes don't hoist 
(namely, in order to avoid premature evaluation of the `extends` clause).
Is something not clear?

—Claude


> 
> On Thu, Oct 16, 2014 at 8:55 PM, Domenic Denicola
> <[email protected]> wrote:
>> 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:[email protected]] On Behalf Of Isiah 
>> Meadows
>> Sent: Thursday, October 16, 2014 20:53
>> To: [email protected]
>> 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
>> [email protected]
>> https://mail.mozilla.org/listinfo/es-discuss
> 
> 
> 
> -- 
> Isiah Meadows
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to