我试图澄清我对条款"属性"的理解。 vs." keys"与"价值观"在JavaScript领域。在阅读了几本关于语言的书籍,甚至在谷歌搜索条款后,我仍然不觉得我清楚他们的确切含义。所以假设我们有以下内容:
var object = {"name" : 5};
我对以下术语的理解是否正确:
属性是指" name"
键是指" name"
值是指5
我最关心的是"属性":它是仅指标识符,还是指整个名称/值对?
答案 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 。