简单的 TypeScript 类给出 TypeError

我想在文件 App.tsx 中使用文件 Classes.tsx 中的类 Literal,但 TypeScript 返回 TypeError,即使它们在同一个文件中也是如此。在typescriptlang.org/play上运行良好。

// Classes.tsx

abstract class Expression {

  abstract val: boolean;

  abstract str: string;

}


class Literal extends Expression {

  val: boolean;

  constructor(value: boolean) {

    super();

    this.val = value;

  }

  get str(): string {

    return this.val ? "W" : "F";

  }

}

// App.tsx

import { Expression, Literal } from "./Classes";


let F: Literal = new Literal(false);

错误:TypeError: Cannot set property str of #<Literal> which has only a getter


为什么?


慕无忌1623718
浏览 83回答 1
1回答

犯罪嫌疑人X

有两种解决方案:添加二传手将声明更改为吸气剂(从abstract str: string;到abstract get str(): string;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript