News for hackers. Stuff that matters.
Re:Introduction to Object-Oriented JavaScript - MDC Docs by giberson on Wednesday May 04, 2011 @11:16AM (#2514076)
Under the section "The Property (object attribute)" the code segment has two curious lines. I expect the first cancels out the latter, making the latter useless.

     // in Person function
     this.gender = gender;
     // outer scope (gender will never be this value because it is overridden by the person constructor argument)
     Person.prototype.gender = 'Person Gender';
Am I correct, or does the prototype.gender line have some other purpose than instantiating gender to a value that is immediately overridden by the passed in value (or undefined if no value is passed)?
Re:Introduction to Object-Oriented JavaScript - MDC Docs by qqqq2010 on Wednesday May 04, 2011 @12:57PM (#2514427)
It's ensuring a default value basically. If you instantiate a person without an argument and try to reference this.gender later, you'll throw a script error. This is just avoiding that.

A way I'd prefer might look like this:

  function Person = function(gender) {
      this.gender = gender || 'neuter' //the sauce that defines a fallback
  }
Re:Introduction to Object-Oriented JavaScript - MDC Docs by giberson on Wednesday May 04, 2011 @03:26PM (#2514962)
This is not the case, because in the constructor person is being set to the argument. If the argument is not supplied (undefined), calling the instantiated object's gender property will result in undefined. [tested and confirmed]
Re:Introduction to Object-Oriented JavaScript - MDC Docs by juliangutman on Wednesday May 04, 2011 @11:34AM (#2514150)
Presumably if the gender property is deleted the prototype.gender will come through
Re:Introduction to Object-Oriented JavaScript - MDC Docs by nprincigalli on Wednesday May 04, 2011 @09:30AM (#2513733)
Might want to check the Joose object system (http://joose.it/ #joose on irc.freenode.net), highly inspired in the awesome thing that Moose (http://search.cpan.org/dist/Moose/) is to Perl. There's even a port of KiokuDB as KiokuJS!(http://joose.it/blog/2011/01/13/introducing-kiokujs/) :)
Re:Introduction to Object-Oriented JavaScript - MDC Docs by clemesha on Wednesday May 04, 2011 @09:36AM (#2513750)
It's good to know this stuff, but in my real-world usage of JavaScript, I've become a big fan of Backbone.js to help structure code intelligently, etc.
Re:Introduction to Object-Oriented JavaScript - MDC Docs by voidr on Wednesday May 04, 2011 @07:48AM (#2513517)
> Inheritance A Class can inherit characteristics from another Class.

Somebody should tell Mozilla, that there are no classes in JavaScript....

Re:Introduction to Object-Oriented JavaScript - MDC Docs by johncoltrane on Wednesday May 04, 2011 @08:08AM (#2513547)
The document is probably targeted at newcomers from other languages. But still…
Re:Introduction to Object-Oriented JavaScript - MDC Docs by erez on Wednesday May 04, 2011 @07:56AM (#2513526)
The guide says that immediately after the terminology paragraph
Re:Introduction to Object-Oriented JavaScript - MDC Docs by johncoltrane on Wednesday May 04, 2011 @08:15AM (#2513556)
But comes back to it at the Custom Objects part(1). And everywhere. They don't use "class" as a keyword, though, but more in a CS way which can be problematic because other keywords like "prototype", "array" or "object" mean pretty much the same thing in both contexts.

An interesting ressource, anyway.

(1) https://developer.mozilla.org/en/Introduction_to_Object-Orie...

Re:Introduction to Object-Oriented JavaScript - MDC Docs by sjs on Wednesday May 04, 2011 @01:02PM (#2514443)
Please don't make us start saying "object used as a class".
Re:Introduction to Object-Oriented JavaScript - MDC Docs by voidr on Thursday May 05, 2011 @02:37AM (#2516420)
The first step to learning JavaScript is to forget about class-ical OOP, you can't write good code if you start forcing class-ical concepts on JavaScript, it's a prototypical language encouraging people to treat it as something else is wrong.
Re:Introduction to Object-Oriented JavaScript - MDC Docs by sjs on Friday May 06, 2011 @10:07PM (#2523059)
When a language has a deficiency people make up for it with libraries. If you don't acknowledge the "class pattern" for object inheritance then you are dismissing an incredibly popular use of OO.

Whether or not code reuse via OO is a good thing or not is a whole other debate though. I don't try to warp every problem into a class hierarchy, but sometimes it's a useful conceptual tool.

Re:Introduction to Object-Oriented JavaScript - MDC Docs by rgbrgb on Wednesday May 04, 2011 @10:36AM (#2513936)
I really like Mozilla's docs. I read this one recently actually.