请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

实例类型和类类型问题

class Greeter {
  static standardGreeting = 'Hello, there'
  
  greeting: string

  constructor(message?: string) {
    this.greeting = message
  }

  greet() {
    if (this.greeting) {
      return 'Hello, ' + this.greeting
    } else {
      return Greeter.standardGreeting
    }
  }
}

let greeter: Greeter
greeter = new Greeter()
console.log(greeter.greet())

let greeterMaker: typeof Greeter = Greeter
greeterMaker.standardGreeting = 'Hey there'

let greeter2: Greeter = new greeterMaker()
console.log(greeter2.greet())

"Greeter 是实例类型,typeof Greeter 就是类类型"
按对这句话的理解:
greeter的类型是Greeter的实例类型,那它的值只要包含’class Greeter’的实例部分即可?
greeterMaker的类型是Greeter的类类型,那它的值只要包含’class Greeter’静态部分即可?

正在回答 回答被采纳积分+3

1回答

ustbhuangyi 2020-12-10 10:02:57

你的理解没错

0 回复 有任何疑惑可以回复我~
  • 提问者 Joshua_Lee #1
    “greeter的类型是Greeter的实例类型”,还有一个问题:
    如果我定义一个新的类NewGreeter,这个类内部定义和Greeter一模一样,然后通过NewGreeter实例化一个对象,这个对象可以赋值给greeter变量吗?
    类类型同问,NewGreeter是否可以赋值给greeterMaker?
    回复 有任何疑惑可以回复我~ 2020-12-10 10:10:40
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信