4

我正在寻找强调其简单性的简单对象的术语。具体来说,没有自引用、不包含方法、绑定等(即 JSON 可序列化)的对象。

现在我用这样的词:

  1. “平面物体”
  2. “简单对象”
  3. “数据容器对象”
  4. “JSON 可序列化对象”

我不喜欢它们,因为:

  1. 意味着缺乏层次结构,这实际上很好。
  2. 似乎很模糊。
  3. 也显得模糊。
  4. 不是直接提到复杂性,更多的是强调需求。JSON-serializability 实际上并不经常是一个要求,而简单性却是。

我要描述的对象示例:

var good_1 = {};

var good_2 = {a: 1, b: 'str'}

var good_3 = {thing: [1,
                      {a: 1,
                       b: 'str'},
                      'word'],
              otherThing: 42};

我想区分的对象示例:

var bad_1 = {thing: 3,
             getThing: function () { return this.thing; }};

var bad_2 = {a: 1};
bad_2['self'] = bad_2;

问题

我应该怎样称呼没有自引用、不包含方法、绑定等(即 JSON 可序列化)的对象?

4

2 回答 2

1

维基百科关于序列化的文章将其描述为:

在计算机科学中,在数据存储的上下文中,序列化是将数据结构或对象状态转换为以后可以在相同或另一个计算机环境中存储和重构的格式的过程。当根据序列化格式重新读取生成的一系列位时,它可用于创建原始对象的语义相同的克隆。对于许多复杂的对象,例如那些大量使用引用的对象,这个过程并不简单。面向对象的对象的序列化不包括任何与它们以前密不可分的关联方法。

因此,可序列化对象几乎描述了您在问题中显示的对象类型,不仅在 Javascript 中,而且在其他语言中也是如此。

于 2014-07-26T08:27:24.517 回答
0

普通的旧数据结构。

PODS,简称。它们是一种仅由数据字段组成的数据结构,没有行为。该术语与语言无关。

上下文:它们经常与 POJO(普通旧 Java 对象)相提并论,后者的定义略有不同。 这个维基百科页面说它们本质上是带有 getter 和 setter 的 PODS。不过,一些谷歌搜索会出现分歧。

于 2015-02-22T04:03:49.367 回答