正在将函数转换为es6类
Converting function to es6 class
我正在学习如何使用es6 class
,需要一些帮助来了解如何将其从function
转换为class
:
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);
}
}
我感到困惑的是,我对从变量中引用的this
的引用做了什么。我需要那个吗?我在代码的其他部分使用它,但宁愿重构也不这样做
我现在的难点是将this
分配给carType。如果我把下面的代码放在我的constructor
中,我如何从carType
指向this
?
您的原始代码不必要地复杂,并且没有意义
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);
}
}
ES6class
es只是语法糖,因此功能将是相同的(前提是您总是用new
关键字调用构造函数(您应该这样做))
但什么是sellCar
?返回值被丢弃了,所以我不得不相信sellCar
还有其他一些副作用。
相关文章:
- 如何将es6导入转换为AMD需要
- 有没有办法将包含 es6 的字符串转换为 es5
- 使用 Babel 将 ES6 模块转换为 ES5 AMD 模块,无法按预期工作
- 如何将普通对象转换为ES6映射
- 为什么我需要的库没有从ES6转换到ES5
- 将 ES6 可迭代转换为数组
- React js getInitialState 在转换为 es6 后不起作用
- 将 jQuery 插件转换为 es6 模块
- 使用 babel 将 es6 转换为 es5,然后与 Browserify 捆绑
- ES6中的JavaScript作用域已转换
- 正在转换为ES6语法
- Array.prototype.values()未定义-使用Babel在NodeJS环境中转换ES6
- 将Singleton JS对象转换为使用ES6类
- 无法在JavaScript ES6中将对象强制转换为类
- 将封口转换为es6模块
- 将ReactClass转换为ReactComponent ES6
- 默认情况下,BabelJS不会't可转换ES6语法的匿名函数
- 将带有符号的ES6类转换为JSON
- Babel不会将ES6转换为浏览器可以理解的JavaScript
- 将 es6 转换为 es5