天坑

298 阅读1分钟

在写ts时遇到的一个问题:
All declarations of 'age' must have identical modifiers.

原因是在demo.ts中定义了一个interface Person:

interface Person {
  name: string;
  age?: number;
  say(): string;
}

而同时在同一文件夹下的generics.ts中又定义了一个class Person:

class Person {
  name: string;
  age: number;
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  eat() {
    return `${this.name} is eating something;
  }
}