Typescript 这个语法是什么意思

Typescript 这个语法是什么意思,typescript,Typescript,const disks:Dish[]和disks:Dish[]=disks的意思是什么 这些案例重要吗? 为什么我们不能只做const Dish[]=[{id:'0'}]和为什么Dish:Dish[]=Dish不需要var或const const DISHES: Dish[] = [ { id: '0', name: 'Uthappizza', image: '/assets/images/uthappizza.png',

const disks:Dish[]和
disks:Dish[]=disks的意思是什么
这些案例重要吗?
为什么我们不能只做
const Dish[]=[{id:'0'}]
和为什么
Dish:Dish[]=Dish不需要var或const

const DISHES: Dish[] = [
      {
        id: '0',
        name: 'Uthappizza',
        image: '/assets/images/uthappizza.png',
        category: 'mains',
        featured: true,
        label: 'Hot',
        price: '4.99',
        // tslint:disable-next-line:max-line-length
        description: 'A unique combination of Indian Uthappam (pancake) and Italian pizza, topped with Cerignola olives, ripe vine cherry tomatoes, Vidalia onion, Guntur chillies and Buffalo Paneer.'
      }
     ];

    export class MenuComponent implements OnInit {
      dishes: Dish[] = DISHES;
      //or dishes = DISHES;
    }

const disks:Dish[]=[…]
定义带有
Dish
类型项的
Dish
数组

MenuComponent
中的另一部分是定义类属性
disks
,同样使用类型为
Dish
的项,并使用值
disks
对其进行初始化(使用相同类型)

为什么我们不能只做const Dish[]=[{id:'0'}]

const Dish[]=[{id:'0'}]
不是有效的TS语法-缺少属性名称<代码>碟子
就是这个类型

为什么选菜:菜[]=菜;不需要var或const

const DISHES: Dish[] = [
      {
        id: '0',
        name: 'Uthappizza',
        image: '/assets/images/uthappizza.png',
        category: 'mains',
        featured: true,
        label: 'Hot',
        price: '4.99',
        // tslint:disable-next-line:max-line-length
        description: 'A unique combination of Indian Uthappam (pancake) and Italian pizza, topped with Cerignola olives, ripe vine cherry tomatoes, Vidalia onion, Guntur chillies and Buffalo Paneer.'
      }
     ];

    export class MenuComponent implements OnInit {
      dishes: Dish[] = DISHES;
      //or dishes = DISHES;
    }

因为
disks
MenuComponent
的类属性

const disks:Dish[]
定义了菜肴的类型(具有Dish类型的项目数组)
dish:dish[]=disks
做同样的事情,即使这里的类型定义也不是真的必要,因为
=disks
已经做了,所以
disks=disks
就足够了

const Dish[]=[{id:'0'}]
是无效语法,据我所知,在您的代码中Dish指的是类型,而不是值

菜品:菜品[]=菜品
不需要var或const,因为它是
MenuComponent
类的属性,而不是变量

varname:type=VALUE

  • 在您的例子中:Dish[]是Dish类型的数组
  • case matters Dish[]和Dish[]是不同的底层对象
  • 无需在
    Dish:Dish[]=Dish中使用var或const因为这是一个成员变量。使用let或var作为局部变量

谢谢你能告诉我class属性
dish
的用途吗?因为在.html文件中,它是使用
dish.image
dish.name
获取的。这仅仅是为了语法。看看这里,了解有关ES6类的更多信息(TS只是添加了键入,但听起来你在寻找更一般的信息):