有条件的"不等于a和不等于b"这样的JS简写吗?

Sli*_*ink 6 javascript syntax shorthand-if comparator conditional-statements

我只是想知道是否有一些像这样的JS简写:

if (x != 1 && x != 2) do stuff;

这样的野兽存在吗?相反,我想说这样的话:

if (x != 1:2) do stuff;

Guf*_*ffa 5

不,没有这样的速记.

如果您不想重复变量,可以使用开关:

switch (x) {
  case 1:
  case 2: break;
  default: do stuff;
}
Run Code Online (Sandbox Code Playgroud)

另一种方法是在数组中查找值:

if ([1, 2].indexOf(x) == -1) do stuff;
Run Code Online (Sandbox Code Playgroud)

但是,Array.indexOf并非所有浏览器都存在,因此您可能需要一个可以在Mozilla Array.indexOf文档页面上找到的回退.

  • @ helly0d:是的,那是完美的; 它既缓慢又难以理解.;) (6认同)

Ale*_*ien 2

不,那不存在,那很好!只有在不太精确的自然语言中才存在这样的东西,这可能会导致混乱。