Javascript 中的自定义条件运算符

Custom conditional operator in Javascript

假设我的代码中经常出现以下构造,

if (e.which==13){ ... }

...我想通过以下方式使代码看起来更简洁:

ifEnterPressed{ ... }

有没有办法在Javascript中定义一个运算符,比如ifEnterPressed

更新

我发现基本问题是 Javascript 不支持句法宏。

不,你不能像那样定义自定义运算符。

你当然可以写一个辅助方法:

function enterPressed(e) {
    return e.which==13;
}

然后:

if(enterPressed(e)) {
    // yay!
}

不,你不能在 Javascript 中这样做,但你可以使用函数:

function isEnter (e) {
  return e.which === 13;
}

然后

if (isEnter(e)) {
  // do something!
}

除了带有函数的解决方案外,您还可以使用对象来分组和保存键码,例如

KEY = {
    enter: 13
}

用法:

if (e.which === KEY.enter){ ... }