如何解决转换为ES5语法Javascript
我试图弄清楚如何将此语法转换为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
(在ES5或ES2015 +中):
const obj = {
moveUp: function() {
if (this.row > 0) {
--this.row;
} else {
this.row = 0;
}
}
};
是否完全需要else
也是一个问题。大概没有任何东西为this.row
分配负数,因此您可以这样做:
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语句的更多信息
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。