user31782
user31782

Reputation: 7589

What does mutable keyed collection mean in javascript?

I am reading the book JavaScript: The Good Parts. It is said that

Objects in JavaScript are mutable keyed collections.

What does mutable keyed collection mean?

AS far as I could find on internet, mutable means the vales can be changes. I couldn't find what keyed collection mean.

Upvotes: 2

Views: 632

Answers (3)

Siderite Zackwehdex
Siderite Zackwehdex

Reputation: 6570

It is about the way objects work in Javascript, they behave like C# Dictionaries, for example, or named arrays in PHP. obj.someKey is equivalent to obj['someKey'] and you can always change the values associated with those keys or indeed delete them.

More advanced: the key uniquely identifies the value stored with it and the system is optimized for performance, so you can use this to index information or to get distinct values of a list,etc.

Upvotes: 0

James Donnelly
James Donnelly

Reputation: 128791

Objects are a collection of keys with associated values. This could be referred to as a "keyed collection":

var o = {
  foo: "bar",
  bar: "baz"
}

(Where foo and bar here are keys).

...which can be changed (as you've already said, the "mutable" part):

o.foo = "foobar";
o.foobar = "bar";

Upvotes: 1

Dellirium
Dellirium

Reputation: 1516

The keyed keyword here means that the data is "named", "indexed" or "keyed".

{ 
 key : value,
 key2: value2 
}

a collection because it contains a collection of data.

Upvotes: 1

Related Questions