Javascript 将函数转换为es6类

Javascript 将函数转换为es6类,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在学习如何使用es6类,需要一些帮助来理解如何将其从函数转换为类: function MyModel(make, year) { var carType = this; carType.make = make; // function that I have further in code sellCar(carType, year); } 我试图实现的是这样的目标: class MyModel { constructor(make, year) {

我正在学习如何使用es6
,需要一些帮助来理解如何将其从
函数
转换为

function MyModel(make, year) {
    var carType = this;

    carType.make = make;

    // function that I have further in code
    sellCar(carType, year);
}
我试图实现的是这样的目标:

class MyModel {
  constructor(make, year) {
    this.make = make;
    this.year = year;

    sellCar(this.make, this.year);
  }
}
我感到困惑的是我对变量引用的
这个
的引用做了什么。我需要这个吗?我在代码的其他部分中使用了它,但宁愿重构也不要这样做


我现在的难点是将
这个
分配给carType。如果我将下面的代码放在我的
构造函数中
,我如何从
carType
指向

function MyModel(make, year) {
    var carType = this;

    carType.make = make;

    // function that I have further in code
    sellCar(carType, year);
}
它可以写成

function MyModel(make, year) {
  this.make = make;
  sellCar(this, year);
}
在ES6中,这是一个微不足道的转换

class MyModel {
  constructor (make, year) {
    this.make = make;
    sellCar(this, year);
  }
}
ES6
class
es只是语法上的糖,所以功能是相同的(前提是您总是使用
new
关键字调用构造函数(您应该这样做))


但是什么是
sellCar
?返回值被丢弃,因此我不得不相信
sellCar
有其他类型的副作用。

您想实现什么?make和year很可能是memeber变量,sellCar很可能是一个方法(尽管我认为可能不属于类内的方法,而属于作用于该类对象的方法)。阅读本文,将帮助您定位、更新m me,如果将来需要助手,您可以使用
class MyModel{constructor(make,year){/*此处的函数体相同*/}
。无需将变量转换为属性。@akaphenom请参阅“编辑”,并让我知道这是否有助于您理解我的困惑。我只是想了解将此重新分配给变量是否有意义。谢谢。我认为我的代码中有不必要的代码,这可能是我的困惑的问题所在抱歉,
sellCar()
是我函数的一部分,只是添加到初始化方法的原型中。