为什么我的Class构造变量在声明后保持未定义?

时间:2017-03-06 22:59:12

标签: javascript node.js class

我有两个场景。第一个,当我将变量构造为constructor(var1, var2){this.var1 = var1; this.var2 = var2时,它们在类的其余部分中未定义,例如test(){console.log(this.var1)}。在另一个中,它记录正​​确的值。

class Rectangle {
  constructor(height, width) {
    this.height = height;
    this.width = width;
  }
  test(){
    console.log(this)
  }
}
const p = new Rectangle(100, 200)

p.test() // => Rectangle { height: 100, width: 200 }

const token = "aaa"
class CatApi {
  constuctor(token, format) { // only xml, html and src; src gives link in response.location header
    this.token = token
    if (format) {
      this.format = format // string allowing xml, html, src and json; default is json
    } else {
      this.format = 'json'
    }

  }
  test(){
    console.log(this)
  }
}
const cat = new CatApi(token, 'json')
cat.test() // => CatApi {}

发生了什么事?我做错了什么?

1 个答案:

答案 0 :(得分:1)

你在第二堂课中拼错了constructor