JavaScript 中的关键字“new”
各位读者大家好!
今天给大家介绍一个新东西!
今天的主题是 JavaScript 关键字“new”!在 JavaScript 中,关键字new用于创建具有构造函数的对象实例。
在深入细节之前,我们需要了解一件事,那就是在 JavaScript 中几乎所有东西都是对象,而对象的概念对于理解关键字“New”至关重要。当我们用关键字 New 定义任何布尔值、数字或字符串时,它都可以被视为一个对象。
我先举个例子吧!
👉 这是一个“构造函数”,Animal,因为它负责构造一个新对象,animal。
👉 我们必须使用点符号向动物对象添加属性,并从构造函数返回它。
👉 假设我们需要在应用程序中创建多个 Animal 对象。 因此,我们实例化了构造函数两次。
👉 我们可以看到输出,其中创建了两个具有name和legs属性的新动物对象。
关于关键字new ,有一点很有趣。当我们使用它时,会创建一个名为this的属性,它指向整个对象并自动返回。因此,我们不需要在构造函数中指定任何其他对象。基本上,这两行代码已经(在底层)为我们隐式地完成了。
让我们看看底层发生了什么,假设 Animal 构造函数使用new关键字调用。它可以重写如下,它等同于前面的示例:
这里会自动创建并返回一个新对象。(注释掉的行)
我们可以紧凑地编写代码,而无需使用底层注释:
这个概念被称为“伪经典实例”。
类似地,我们可以定义一个Object 属性,它本身就是另一个Object!
例如,让我们定义一个名为“ Human ”的对象,然后实例化两个新的Human对象,如下所示:
现在,假设我们要创建一个汽车对象类型,并将其命名为“ Car ”。它应该包含owner、model和yearOfPurchase属性。以下语句在创建新对象时,不会传递字符串或整数值,而是将man和woman对象作为车主的参数传递。
要找出 car2 车主的姓名,我们可以按如下方式访问该属性:
console.log(car2.owner.name); //Swarnali