gpt4 book ai didi

javascript - JavaScript 中的类与函数构造函数

转载 作者:行者123 更新时间:2023-12-01 01:37:55 24 4
gpt4 key购买 nike

背景:C# 开发人员最近深入研究 JavaScript

下面是在 JavaScript 中创建对象的两种方法。它们之间有什么区别,创建对象时我应该使用/优先考虑哪种方法,为什么?

class John {
constructor(name, birth, height) {
this.name = name;
this.birth = birth;
this.height = height;} }

var Person = function(name, birth, height) {
this.name = name;
this.birth = birth;
this.height = height;}

最佳答案

他们做的事情基本相同。 class语法是在 ES2015 中引入的,它可以为您做一些事情:

  • 它构建了一个检查,确保该函数在创建新对象时被调用,从而消除了在没有 new 的情况下调用构造函数的一整类错误。允许。

  • 它允许使用 super在构造函数和方法中。

  • 它更简单,特别是如果您创建子类。

  • 如果您使用 Error 等内置函数的子类,就会简单得多。或Array (您可以在没有 class 的情况下完成此操作)。

但是您可以在没有 class 的情况下完成所有这些操作如果您更喜欢使用旧语法。

当然,如果不通过 Babel 等工具转换为旧语法,您就无法在 IE 等过时的浏览器上使用新语法。 .

(必须注意:在 JavaScript 的原型(prototype)继承上使用类似类的陷阱是一种风格选择,而不是必需的。如果您愿意,可以直接使用原型(prototype)继承。)

您还可以找到this answer有用,比较class语法与 function 做同样的事情语法。

关于javascript - JavaScript 中的类与函数构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52666266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com