关于JavaScript对象/字典的解释

850 阅读3分钟

JavaScript中的对象是用于存储相关数据的数据类型;它们是一个命名的值或变量的集合,用于存储多个值;这些值以名称:值 对的形式存储。对象有属性和方法。方法基本上是写成对象属性的函数。

学习JavaScript对象的最好方法是将它们与现实生活中的对象进行比较。现实生活中的对象有不同的属性,可以完成不同的任务,例如,自行车 就是一个对象;它有颜色、模型、名字等属性,以及开始、中断、停止等方法。

现在所有的自行车 都有这些属性;每辆自行车 都有颜色、型号和名称,但每辆自行车的这些属性的值都可能不同。同样地,所有的自行车 都执行这些方法,但时间不同。

对象和字典之间的区别。

以键值对形式存储的数据被称为对象或字典。对象和字典是相似的,区别在于语义。在JavaScript中,字典被称为对象,而在Python或C#等语言中,它们被称为字典。

如何在JavaScript中使用对象?

现在我们将以JavaScript为例,创建一个名为user的具有不同属性的对象。

const user = {fName:"Mary", lName:"Jane", age:23, id:01};

上面给出的用户 对象有四个不同的属性,即fNamelNameageid。这些属性分别有MarryJane2301 作为值。从语法上讲,JavaScript是一种动态语言,所以我们也可以用下面的方式来声明这个对象,以提高可读性。

const user = {
fName: "Mary" ,
lName: "Jane" ,
    age: 23 ,
    id: 01
};

一般来说,对象是用const 关键字声明的,其定义可以由多行组成。

如何访问存在于一个对象中的属性?

在JavaScript中,有两种不同的方法可以用来访问和分配属性给一个对象。

  • 通过使用点". "运算符
  • 通过使用方括号的语法

以下是点运算符方法中使用的语法。

Object_name.property_name

方括号方法的语法如下。

Object_name['property_name']

例如,如果我们想访问对象user中的属性age ,我们可以用两种不同的方法来做。

const user = {
fName: "Mary" ,
lName: "Jane" ,
    age: 23 ,
    id: 01
};

console.log(user.age);
console.log(user['age']);

我们还可以通过使用object_name.property_name 和**object_name['property_name']**的语法来修改属性的值。

var user = {
fName: "Mary" ,
lName: "Jane" ,
  age: 23 ,
  id: 01
};

user.age = 24;
console.log(user.age);
user['age'] = 25;
console.log(user['age']);

同样地,方法也可以通过使用点运算符以同样的方式访问。

现在我们要给我们的用户 对象添加一个方法。

const user = {
fName: "Mary" ,
lName: "Jane" ,
    age: 23 ,
    id: 01 ,
birthYear() {
const date = newDate();
        Year = date.getFullYear() - this.age;
return Year;
    }
};


console.log(user.birthYear());

在上面的例子中,我们在对象user的内部声明了一个方法。这个方法用当前年份减去用户的年龄来返回用户的出生年份。

例子中的'this' 关键字指的是拥有age 属性的对象。这个关键字用来访问一个对象中的属性值。

JavaScript中的对象也可以使用Object构造函数和new 关键字来声明。

const user = newObject();

// Assigning Properties and Property Values

user.fName = "Marry";
user.lName = "Jane";
user.age = 23;
user.id = 01;

结论

除了原始数据类型外,JavaScript中的其他东西几乎都是一个对象。new关键字可以将原始数据类型如布尔、数字和字符串转换成对象(不推荐)。

JavaScript有一些内置的对象,如DateMath。我们还可以选择创建我们自己的自定义对象。本指南告诉我们如何创建一个对象,并将其分配给不同的属性、属性值和方法。我们还学习了如何访问和操作/修改对象中的属性和方法。