我正在尝试在学习语言的同时将以下内容翻译成ES5:
const transitionendFn = ()=> {
[...this.slider].forEach((el)=> el.className = 'item');
selectedEl.classList.add('active');
this.isAnimating = false
}
ES5:
const transitionendFn = function() {
[].concat(this.slider).
forEach(function (el) {
return el.className = 'item';
});
selectedEl.classList.add('active');
this.isAnimating = false
}
我不了解传播部分。
this.slider
包含以下内容:任何帮助纠正此代码表示赞赏。
翻译后出现“
TypeError
:el
未定义”的信息。 最佳答案
意识到:
箭头函数没有this
绑定。传统函数(ES5中唯一可用的函数)可以执行,因此您必须将其绑定到所需的值。
ES5没有const
变量。仅var
个。
ES5没有可迭代的对象。我将假设this.slider
是类似数组的。
然后翻译会像
var transitionendFn = function() {
[].forEach.call(this.slider, function(el) {
return el.className = 'item';
});
selectedEl.classList.add('active');
this.isAnimating = false;
}.bind(this);
关于javascript - 无法将此ES6转换为ES5(包括扩展语法),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38980643/