JavaScript 有什么新特性?

2025年3月3日 | 阅读 5 分钟

什么是 New 关键字?

在 JavaScript 中,new 关键字用于通过构造函数方法创建对象的实例。这意味着当我们创建新实例时,JavaScript 每次都会调用构造函数方法。

简而言之,new 关键字帮助我们创建具有 构造函数方法对象 的实例。使用 new 关键字,用户可以创建用户定义和内置对象类型的实例。我们可以创建 原型 或构造函数方法的实例。

JavaScript 中,当我们使用 new 关键字创建函数时,该函数被用作构造函数。new 关键字将执行以下操作:

  • 首先,它将创建一个空的 JavaScript 对象。
  • 然后,它将为其原型设置继承。
  • “this”变量被指向新创建的对象。它帮助我们将用 this 关键字声明的属性绑定到新对象。
  • 每当使用 new 创建的对象时,它还会使用该对象执行构造函数方法。
  • 除非构造函数返回非 null 对象引用,否则它将返回新创建的对象。

语法

参数

构造函数:在 JavaScript 中,它是构造函数方法或类名。

参数:在 JavaScript 中,可以有多个参数来初始化具有这些参数的对象属性。

在函数构造函数中使用 'new' 关键字

在 JavaScript 中,要将函数用作构造函数,我们应该在函数名前加上 new 关键字来调用该函数。

在 JavaScript 中,我们还可以使用函数构造函数定义多个对象。构造函数方法充当对象的原型。

语法

new 关键字和构造函数函数的语法如下:

示例

说明

在上面的示例中,我们定义了 Watch() 构造函数。watch() 构造函数初始化品牌、价格和类型属性。然后,我们创建了 Watch() 函数的两个新实例,并在输出中打印它们。

输出

 
The rolex object is: {"brand":"Rolex","price":40000,"type":"analog"}
The sonata object is: {"brand":"sonata","price":3000,"type":"digital"}   

在类中使用 'new' 关键字

在 JavaScript 中,我们还可以使用 new 关键字来定义类的实例。当我们使用 new 关键字与类一起使用时,它为对象提供了蓝图。

在 ES6 之前,构造函数定义对象模板;在 ES6 之后,则使用类。

示例

说明

在上面的示例中,我们定义了 'WindowClass 类'。在这个 'WindowClass' 中,我们添加了构造函数来初始化属性。我们还在类中添加了 getDetails() 方法。

之后,我们使用 new 关键字后跟类名来定义 WindowClass 的对象。

输出

 
Color: Red
Size: large
Type: wooden   

使用内置对象和 'new' 关键字

我们还可以使用 new 关键字来定义具有构造函数函数的内置对象的实例。

语法

在上面的语法中,我们将数值作为 Number() 构造函数的参数传递。

示例

输出

 
num = 10, typeof num object
str = Hello, typeof str object   

JavaScript 中 new 关键字的用途

创建新对象

在 JavaScript 中,new 关键字用于创建对象的新实例。当我们用 new 调用构造函数时,它会创建对象。

示例

设置原型

在 JavaScript 中,新对象的内部 [[Prototype]] 属性被设置为构造函数的 prototype 属性。它允许新对象从构造函数的原型继承属性和方法。

将 this 绑定到新对象

在 JavaScript 中,在构造函数内部,`this` 指的是正在创建的新对象。它还允许我们将属性和方法添加到新对象。

返回新对象

JavaScript 中的 'new' 关键字隐式返回由构造函数创建的对象。现在,如果构造函数显式返回一个对象,那么将返回该对象。

结论

在 JavaScript 中,new 关键字是对象创建的基本工具,并在语言的面向对象功能中起着至关重要的作用。通过使用 new 调用构造函数或类,您可以生成具有自己属性和方法的新对象实例,并遵循构造函数定义的蓝图。此过程涉及设置原型链、将 this 上下文绑定到新对象以及处理创建对象的返回。