I still prefer status quo, as it reads more like a proper class to me, while
being less verbose and centralizing the exported method definitions in a
single place.
As well, this question's corollary is whether to convert all instantiable
objects to the form:
FooClass.prototype.method = function() { }
FooClass.prototype.method2 = function() { }
...from:
FooClass = function() {
// private state
function method() { }
function method2() { }
return {
method: method,
method2: method2
};
};
On this note, I'm conflicted. I like having actual private state, but
prototype-style is more efficient.
Enough people have complained over time about each of the existing idioms
though that I suppose I could go the other direction, if it's causing
development trouble.
--j
On Tue, Jul 26, 2011 at 6:17 AM, Ryan J Baxter <[email protected]> wrote:
> +1 As well, I think its easier to read.
>
> -Ryan
>
> Email: [email protected]
> Phone: 978-899-3041
> developerWorks Profile
>
>
>
> From: Dan Dumont/Westford/IBM@Lotus
> To: [email protected],
> Date: 07/26/2011 09:00 AM
> Subject: Re: javascript readability..
>
>
>
> +1
>
>
>
> From: Paul Lindner <[email protected]>
> To: [email protected],
> Date: 07/26/2011 02:51 AM
> Subject: javascript readability..
>
>
>
> Hi,
>
> I'm curious to know what people think about some of the idioms in the JS
> code you find in shindig. There's an awful lot of stuff like this:
>
> shindig.foo = function(){
> //...
> var myFunction = function() {
> }
>
> return {'foo': myFunction,
> 'bar': function() {
> return 'bar';
> }};
> }();
>
>
> Just search for @member to see the various places.
>
> What would people think if we moved to fully defined names for
> function/method definitions instead?
>
> You could still wrap this inside a closure if you wanted local scope:
>
> function() {
> shindig.foo.foo = function() {
> ...
> }
> shindig.foo.bar = function() {
> ...
> }
> }();
>
> --
> Paul Lindner -- [email protected] -- linkedin.com/in/plindner
>
>
>
>
>
>
>