But why do we need new keyword?

Actually, I can accept a new keyword in case if reasons will really be serious. But in this case -- `extends' may fit quite nice.

P.S.: In general, it's just funny picture. Somehow ES4 made nice classes with nice syntax. Why (Why Y NO?) now we invent some scary things such as const Point = Point <| {}.constructor.{}.prototype{}. Just... why? What has happened with syntax idea even from ES4?

Dmitry.

On 16.11.2011 23:31, Rick Waldron wrote:
As stated previously[1], my support for "begets" as pure win is unwavering.


Rick

[1] https://mail.mozilla.org/pipermail/es-discuss/2011-October/017758.html




On Wed, Nov 16, 2011 at 2:16 PM, Dmitry Soshnikov <[email protected] <mailto:[email protected]>> wrote:

    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
    [email protected] <mailto:[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