为什么功能缝成为对象?

问题描述 投票:0回答:1

我正在尝试学习JS / ES,并且对类和对象有些困惑。

下面的两个代码段的功能完全相同,但是最后一个显然使用了一个类。但是第一个用途是什么?我以为一个类在执行时就变成了对象?

我本来希望clock是一个函数,但显然可以将其用作对象。为什么会这样?

为什么当第一个短于输入时,为什么有人会想使用类方式?

var clock = {
  start() {
    setInterval(() => console.log(Date()), 1000) 
  }
}
clock.start()

class Clock {
  start() {
    setInterval(() => console.log(Date()), 1000)
  }
}
const c = new Clock
c.start()
javascript node.js ecmascript-2017
1个回答
1
投票

类是对象的模板。它们描述了一堆对象的行为。在javascript中,new Clock()是如何获取class Clock中新的object的方法。

对象文字语法({foo: 'bar'})是创建通用对象的快捷方式。因此,以这种方式创建的对象的classObject。另外,以这种方式创建对象并不能使您具有相同行为的new对象(从某种意义上讲,它们将属于同一类)。

有趣的是,类也是对象(它们可以具有属性和方法)。

© www.soinside.com 2019 - 2024. All rights reserved.