微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

转换为ES5语法Javascript

如何解决转换为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
  }
}

您可以在https://www.w3schools.com/js/js_if_else.asp

上了解有关if语句的更多信息

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。