转换为ES5语法Javascript
我试图找出如何将这种语法转换成ES5语法转换为ES5语法Javascript,javascript,arrays,javascript-objects,ecmascript-5,Javascript,Arrays,Javascript Objects,Ecmascript 5,我试图找出如何将这种语法转换成ES5语法 moveUp() { this.row > 0 ? this.row -= 1 : this.row = 0 } 唯一不是ES5的部分是它是一个方法声明。我假设这是一个对象文本,如下所示: const obj = { moveUp() { this.row > 0 ? this.row -= 1 : this.row = 0; } }; 如果是这样,ES5中的近似等价物是在属性初始值设定项中使用
moveUp() {
this.row > 0 ? this.row -= 1 : this.row = 0
}
唯一不是ES5的部分是它是一个方法声明。我假设这是一个对象文本,如下所示:
const obj = {
moveUp() {
this.row > 0 ? this.row -= 1 : this.row = 0;
}
};
如果是这样,ES5中的近似等价物是在属性初始值设定项中使用函数表达式:
const obj = {
moveUp: function() {
this.row > 0 ? this.row -= 1 : this.row = 0;
}
};
旁注:我建议不要纯粹因为那样的副作用而使用条件运算符。如果是if/else,请使用
if
/else
(在ES5或ES2015+中):
您是否需要else
也值得怀疑。大概没有什么东西会给这一行指定负数,所以您可以这样做:
const obj = {
moveUp: function() {
if (this.row > 0) {
--this.row;
}
}
};
如果您正在寻找“更简单的语法”,请将this.row=0
添加到If语句的else部分
moveUp(){
if (this.row > 0){
this.row -= 1
} else {
this.row = 0
}
}
您可以在这里了解有关if语句的更多信息,它已经是ES5语法了。我无法理解它,如何将其转换为更简单的语法syntax@Pointy-实际上,ES5没有方法语法。(我不得不去检查。)@T.J.Crowder啊,你可能是对的,我把它理解为一个简单(不正确)的函数声明。(在这里,猜测上下文总是很困难。)
moveUp(){
if (this.row > 0){
this.row -= 1
} else {
this.row = 0
}
}