Fwd: Alternative syntax for <|

Quildreen Motta quildreen at gmail.com
Wed Nov 16 11:19:58 PST 2011


But with `var', only the declaration is hoisted, the actual assignment is
not. Such that:

var point3d = extends point { z: 1 }
var point = { x: 1, y : 1 }

Would still fail, as far as I know, whereas:

class point3d extends point { z: 1 }
class point { x: 1, y: 1 }

Should work, if class is hoisted.


2011/11/16 Dmitry Soshnikov <dmitry.soshnikov at gmail.com>

> On 16.11.2011 23:12, Erik Arvidsson wrote:
>
>> One thing that all of these discussions are missing is the hoisting
>> property of function and any possible future classes. If we use "let
>> Point = ..." we lose all hoisting and the order of your declarations
>> starts to matter and we will end up in the C mess where forward
>> references do not work.
>>
>>  No matter, we may rewrite it with `var':
>
> // parent object
> var point = {x: 10, y: 20};
>
> // child object
> var point3D extends point {
>
>  z: 30
> }
>
> // a class
> class Point3D extends Point {
>  constructor (x, y, z) { ... }
> }
>
> It seems interesting for me, since we define both -- child classes and
> child objects with the same syntactic construction; only `var' and `class'
> keywords change.
>
> Dmitry.
>
> ______________________________**_________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/**listinfo/es-discuss<https://mail.mozilla.org/listinfo/es-discuss>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20111116/3e5fb2c0/attachment.html>


More information about the es-discuss mailing list