JavaScript中的属性与键与值的关系

时间:2015-02-21 16:26:55

标签: javascript

我试图澄清我对条款"属性"的理解。 vs." keys"与"价值观"在JavaScript领域。在阅读了几本关于语言的书籍,甚至在谷歌搜索条款后,我仍然不觉得我清楚他们的确切含义。所以假设我们有以下内容:

var object = {"name" : 5};

我对以下术语的理解是否正确:

  

属性是指" name"

     

是指" name"

     

是指5

我最关心的是"属性":它是仅指标识符,还是指整个名称/值对?

4 个答案:

答案 0 :(得分:9)

他们没有确切的含义,特别是“财产”含糊不清。

术语property(另外:attribute,不常见或甚至用于JS中的不同内容)通常是指描述其成员的键/值一个东西。虽然,特别是当与特定标识符(键)一起使用时,它通常指的是整个组合,但它也可以表示该成员的值。它通常不代表标识符本身。

当人们试图准确时,他们区分“属性”(整个事物,对象的一部分),“属性名称”(用作键的字符串)和“属性值”(存储的数据)。

答案 1 :(得分:1)

属性是名为" name"的对象的一部分。值为5.键是单词"名称"。

答案 2 :(得分:0)

这个话题对我来说也很困惑。我所做的不同课程对术语"属性"有不同的解释。在咨询了不同的导师后,我得出了这个结论。如果我还是错的话,请纠正我。

name : 5 => property(key/value pair)
name => key or property name
5 => value or property value

答案 3 :(得分:0)

只是要指出-由于hasOwnProperty()方法,我对此也感到困惑,该方法返回true:

const object1 = new Object();
object1.property1 = 42;
console.log(object1.hasOwnProperty('property1'));

这将返回false:

const object1 = new Object();
object1.property1 = 42;
console.log(object1.hasOwnProperty('42'));

因此,在其他答案正确的情况下,对于hasOwnProperty()方法,属性的确是属性的 key