无法分配“导入类”,因为它是导入 - Javascript

Pat*_*ild 6 javascript typescript

我一直在初始化一些常量类

    export class A {
       foo: string,
       b: B
    }

    export class B { 
       bar: number
    }
Run Code Online (Sandbox Code Playgroud)

然后将它们导入另一个类并在另一个文件中初始化它们。但是,如果我想初始化 A 类时使用 B 类时遇到问题。

例子:

    import { A, B } from '../models/class';
    export const myVariable: A = {
       foo: 'FOO',
       b: B = {
          bar: 5
       }
    }
Run Code Online (Sandbox Code Playgroud)

第一个作业是正确的。但是,A 中的 B 类会给我错误 -无法分配给“B”,因为它是导入。

Dav*_*vid 11

这不是为对象文字中的属性赋值的方式:

{
  foo: 'FOO',
  b: B = {
    bar: 5
  }
}
Run Code Online (Sandbox Code Playgroud)

基本上,您试图将一个对象分配给B 它本身,而不是分配给b对象的属性,然后尝试将该分配的结果分配给b属性。这确实没有意义。

您可能对角色的用法感到困惑:。在 TypeScript 中声明变量时,它用于指示类型。定义对象字面量时时,它用于定义对象属性的值。

这是定义对象文字的方式:

{
  foo: 'FOO',
  b: {
    bar: 5
  }
}
Run Code Online (Sandbox Code Playgroud)