【问题标题】:What does mutable keyed collection mean in javascript?javascript中可变键控集合是什么意思?
【发布时间】:2016-04-18 18:33:49
【问题描述】:

我正在阅读 JavaScript: The Good Parts 一书。据说

JavaScript 中的对象是可变键集合。

可变键集合是什么意思?

据我在互联网上找到的,可变意味着 vales 可以更改。我找不到 keyed collection 是什么意思。

【问题讨论】:

标签: javascript


【解决方案1】:

对象是具有关联值的键的集合。这可以称为“键控集合”:

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

(这里foobar 是键)。

...可以更改(正如您已经说过的,“可变”部分):

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

【讨论】:

  • 方法的名称也是吗?
  • 可以,是的。如果我们定义o.foo = function() { ... },这里的“foo”就是关键。
  • @JamesDonnelly,你能解释一下除了对象之外的所有类型都定义了不可变的值(值,不能被改变) Ref..如果可能的话..
  • @RayonDabre 我不确定你在问什么。
  • Doc 说除了Object 之外的任何内容都是不可变的(无法更改)我们可以更改String/Number..的值。
【解决方案2】:

这里的keyed关键字表示数据是“命名的”、“索引的”或“键控的”。

{ 
 key : value,
 key2: value2 
}

一个集合,因为它包含一个数据集合。

【讨论】:

    【解决方案3】:

    这是关于对象在 Javascript 中的工作方式,例如,它们的行为类似于 C# 字典或 PHP 中的命名数组。 obj.someKey 等价于 obj['someKey'],您可以随时更改与这些键关联的值或删除它们。

    更高级:键唯一标识与其存储的值,系统针对性能进行了优化,因此您可以使用它来索引信息或获取列表的不同值等。

    【讨论】:

      猜你喜欢
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      • 2010-09-21
      • 2015-07-15
      • 2013-11-02
      • 2018-07-17
      • 1970-01-01
      相关资源
      最近更新 更多