On Fri, 21 Mar 2003, Sylvain Wallez wrote:

> Christopher Oliver wrote:
>
> > Sylvain Wallez wrote:
>
>
> <snip/>
>
> >> Does JavaScript, like Java, make a difference between primitive types
> >> (stored by value on the stack) and object types (stored by reference)
> >> ? My understanding after some tests is that a difference is made.
> >
> >
> > No, there shouldn't be any difference. If there is, it's a bug. What
> > was your test?

>From http://www.forerunners.org/WebLibrary/jscript/ch09_03.htm :

 The basic rule in JavaScript is this: primitive types are manipulated by
value, and reference types, as the name suggests, are manipulated by
reference. Numbers and Booleans are primitive types in
JavaScript--primitive because the consist of nothing more than a small
fixed number of bytes, bytes that are very easily manipulated at the low
(primitive) levels of the JavaScript interpreter. On the other hand,
objects and arrays are reference types. These data types can contain
arbitrary numbers of properties or elements, and so can be of arbitrary
size, and cannot be so easily manipulated. Since object and array values
can become quite large, it doesn't make sense to manipulate these types by
value, which could involve the inefficient copying and comparing of large
amounts of memory.

AFAIK, that's just like Java.

Tony


Reply via email to