无法在TypeScript中使用函数变量

时间:2018-10-05 17:29:50

标签: typescript

我有这个,由于下面显示的错误,我无法在类中使用该方法。

class Product {
    a:number
    b:number
    get total() {
        return this.a * this.b;
    }
}

var product: Product={
    a:2,
    b:3
}

错误:

  

输入'{a:数字; b:数字; }”不可分配给“产品”类型。     类型'{a:number;缺少属性'total'。 b:数字; }'。

3 个答案:

答案 0 :(得分:1)

您可能应该改用构造函数:

class Product {
    constructor(private a: number, private b: number) {}

    get total(): number {
        return this.a * this.b;
    }
}

let product: Product = new Product(2, 3);

答案 1 :(得分:1)

不要与TypeScript混淆。像这样使用构造器:

class Product {
  constructor(a, b) {
    this.a = a;
    this.b = b;
  }

  total() {
    return this.a * this.b;
  }
}

var product = new Product(2, 3);
console.log(product.total());

答案 2 :(得分:0)

是的,该对象不能是 product ,因为缺少功能 total 。最好使用新的运算符。

const x = new Product();
x.a = 3;
x.b = 5;