Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #23570

Re: class needs to initialize vars, set data structure

Message-ID <3504411.n7x7zaDXQ0@PointedEars.de> (permalink)
From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Organization PointedEars Software (PES)
Date 2014-03-12 15:34 +0100
Subject Re: class needs to initialize vars, set data structure
Newsgroups comp.lang.javascript
References <972c7156-b68b-4ff4-8d82-55f00676b1a7@googlegroups.com> <return-20140312004838@ram.dialup.fu-berlin.de> <set-20140312005707@ram.dialup.fu-berlin.de> <set-20140312142217@ram.dialup.fu-berlin.de>

Show all headers | View raw


Stefan Ram wrote:

> ram@zedat.fu-berlin.de (Stefan Ram) writes:
>> function Set(){ this.map = {}; }
> 
>   Next version:
>  
> function Set(){ this.map = Object.create( null ); };

This makes the “map” property public, allowing everyone to mess with the 
set.  It also requires an implementation of ECMAScript Edition 5 or later, 
or an emulation of Object.create().

> Set.prototype =
> { add      : function( element ){ this.map[ element ]= true; } ,
>   remove   : function( element ){ delete this.map[ element ]; },
>   contains : function( element ){ return element in this.map; },

Again, these work reliably only for String values where the value is not the 
name of a *non-inherited* built-in property, or for non-String values where 
the string representation of the value is no such name.

>   count    : function( element ){ return Object.keys( this.map ).length;
>   }};

This would prevent the methods from being created on each invocation of 
Set(), however it overwrites the existing “prototype” property so that the 
“constructor” property of the object referred to from the “prototype” 
property value refers to the same object as “Object”, not as “Set” (because 
it now refers to an Object instance).  It also allows everyone to mess with 
the methods because they are public.

Instead of bothering everyone with your repetitions of common mistakes, you 
should read previous discussions before you post, and follow-ups to your 
postings more carefully.  And RTFM, RTFFAQ, STFW.

-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | SVN: <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | ES Matrix: <http://PointedEars.de/es-matrix>
Please do not Cc: me. / Bitte keine Kopien per E-Mail.

Back to comp.lang.javascript | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

class needs to initialize vars, set data structure JRough <janis.rough@gmail.com> - 2014-03-11 15:36 -0700
  Re: class needs to initialize vars, set data structure Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-03-12 03:34 +0100
    Re: class needs to initialize vars, set data structure Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-03-12 15:09 +0100
    Re: class needs to initialize vars, set data structure John Harris <niam@jghnorth.org.uk.invalid> - 2014-03-12 17:04 +0000
      Re: class needs to initialize vars, set data structure John Harris <niam@jghnorth.org.uk.invalid> - 2014-03-14 10:48 +0000
  Re: class needs to initialize vars, set data structure Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-03-12 03:17 +0000
    Re: class needs to initialize vars, set data structure Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-03-12 11:46 +0100
    Re: class needs to initialize vars, set data structure Christoph Michael Becker <cmbecker69@arcor.de> - 2014-06-25 22:51 +0200
      Re: class needs to initialize vars, set data structure Christoph Michael Becker <cmbecker69@arcor.de> - 2014-06-26 00:42 +0200
        Re: class needs to initialize vars, set data structure Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-06-26 11:16 +0200
        Re: class needs to initialize vars, set data structure Christoph Michael Becker <cmbecker69@arcor.de> - 2014-06-26 21:44 +0200
          Re: class needs to initialize vars, set data structure John Harris <niam@jghnorth.org.uk.invalid> - 2014-06-27 09:46 +0100
            Re: class needs to initialize vars, set data structure Scott Sauyet <scott.sauyet@gmail.com> - 2014-06-28 21:57 -0700
  Re: class needs to initialize vars, set data structure Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-03-12 15:34 +0100

csiph-web