On Tue, Oct 25, 2011 at 3:56 PM, ydaniv <maggotf...@gmail.com> wrote:

> Thanks guys for the input!
>
> @Jake:
> It's evil to extend Object.prototype with an enumerable property.
> here "_prototype_" is non-configurable because the logic here depends
> on it. If you choose to use this then you'd want it to be non-
> configurable.
> But perhaps you're right and I could add "configurable: true", seems
> like a good idea.
>

I didn't really explain why I would want it configurable.

I may want to do this

var old_prototype_ = Object.prototype._prototype_;
delete Object.prototype._prototype_;
// define a new (better) _prototype_


>
> The "_asDescriptor" function is private and quite straight-forward.
> The use of the letters e, p &r is a physical joke, and I didn't think
> that following a single-line function would be too hard to follow.
> Anyhow, I guess I'll change those to something more meaningful.
>
> I'm sorry that you see the supr function as magic, cause actually it
> follows the straight forward logic of getting an overridden property
> in a prototype chain:
> You find the object in the chain that actually defines this property
> and then get this property again from its parent.
> Since JS don't protect you from possible errors you need to go through
> some hoops.
>

As for super shouldn't it just be a shorthand for
Object.getPrototypeOf(this) ? do we need more magic then that?


>
> What are Object.make & Object.createSimple?
> And yes, Create is very thin and light, that was the objective here.
>
>
I have an implementation of [object.make](
https://github.com/Raynos/pd#pd.make) I forgot to reference the idea of it.


>
> @Alexander:
> As I mentioned in the docs, if you name each method you're using supr
> inside and not in strict mode then you can loose the "name" param.
>
> Personally I don't like Resig's this._super because I find it very
> obtrusive, it bloats your code, and frankly it uses magic like using
> regex on the function.toString().
>
> If you consider using a function's name inside it as breaking the DRY
> principle then I guess that's your opinion. In python, you call a
> super function like this:
> class C(B):
>    def method(self, arg):
>        super(C, self).method(arg)
>
> You could say I took some inspiration from that.
> Besides that, putting a name of a different property allows you to
> call a different overridden property, which is not RY at all.
>
> Thanks!
> ~Y
>
>
> On Oct 24, 1:01 pm, "Fyodorov &quot;bga&quot; Alexander"
> <bga.em...@gmail.com> wrote:
> > ydaniv:
> >
> > > Hi,
> >
> > > I saw some discussions about OO & inheritance in JS so thought I might
> > > share a small Gist I've contrived:
> >
> > >https://gist.github.com/1074335
> >
> > > It's ES5 only and implements a simple wrap for the Object.create
> > > mechanism and a "super" property getter in a more unobtrusive way.
> >
> > > It's OS and will appreciate any feedback.
> >
> > > Thanks,
> > > ~Y
> >
> > this._super() is better then your method because you force me
> > duplicate method name, its not DRY
>
> --
> To view archived discussions from the original JSMentors Mailman list:
> http://www.mail-archive.com/jsmentors@jsmentors.com/
>
> To search via a non-Google archive, visit here:
> http://www.mail-archive.com/jsmentors@googlegroups.com/
>
> To unsubscribe from this group, send email to
> jsmentors+unsubscr...@googlegroups.com
>

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/jsmentors@jsmentors.com/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/jsmentors@googlegroups.com/

To unsubscribe from this group, send email to
jsmentors+unsubscr...@googlegroups.com

Reply via email to