对象初始化-为什么用“:”而不是“ =”初始化对象属性

时间:2019-06-19 20:33:10

标签: javascript

在经历了Angular教程之后,我们意识到:用于类型声明,而=用于值分配。看下面的代码

export class HeroesComponent implements OnInit {
  hero: Hero = {
    id: 1,
    name: 'Windstorm'
  }

我不明白为什么id和name使用:而不是=,因为类型已经声明,并且我们为hero的属性分配了一个值。

export class HeroesComponent implements OnInit {
  hero: Hero = {
    id = 1,
    name = 'Windstorm'
  }

上面是我希望可以使用但不正确的代码。

1 个答案:

答案 0 :(得分:1)

可以使用JavaScript中的不同方法来初始化对象。您可能更熟悉的一种方法是,首先创建一个对象的实例,然后通过构造函数,getter和setter分配属性,或者直接更改对象属性

command

虽然这些在JavaScript中创建对象的方法是有效的,但您通常会看到开发人员使用对象文字,这是名称/值对的列表,以逗号分隔。您可能已经注意到,但是JSON采用了与Object Literals相同的语法,其中一个区别是语言无关(Object Literals是JavaScript所独有的)。为了进一步说明,您可以将任何数据类型分配给对象文字属性值:它可以是数组,字符串,整数,另一个对象文字等,只需按键盘上的“:”即可。 。

希望我能提供帮助,祝您好运!