6.4.7 Guards

It is also possible to further restrict patterns with the case ... if (condition): syntax:

var myArray = [7, 6];
var s = switch (myArray) {
    case [a, b] if (b > a):
      b + ">" + a;
    case [a, b]:
      b + "<=" + a;
    case _: "found something else";
  }
trace(s); // 6<=7

The first case has an additional guard condition if (b > a). It will only be selected if that condition holds, otherwise matching continues with the next case.