var token = 'spo';
switch(token){
case ( (token.match(/spo/) )? token : undefined ) :
console.log('MATCHED')
break;;
default:
console.log('NO MATCH')
break;;
}
-> Wenn die Übereinstimmung hergestellt ist, gibt der ternäre Ausdruck das ursprüngliche Token zurück
----> Das ursprüngliche Token wird nach Groß- und Kleinschreibung ausgewertet
-> Wenn die Übereinstimmung nicht hergestellt wird, gibt der Ternär undefiniert zurück
----> Case bewertet das Token gegen undefiniert, was Ihr Token hoffentlich nicht ist.
Der ternäre Test kann zum Beispiel in Ihrem Fall alles sein
( !!~ base_url_string.indexOf('xxx.dev.yyy.com') )? xxx.dev.yyy.com : undefined
===========================================
(token.match(/spo/) )? token : undefined )
ist ein ternärer Ausdruck.
Der Test in diesem Fall ist token.match (/ spo /), der die Übereinstimmung der im Token enthaltenen Zeichenfolge mit dem regulären Ausdruck / spo / angibt (in diesem Fall die wörtliche Zeichenfolge spo).
Wenn der Ausdruck und die Zeichenfolge übereinstimmen, ergibt sich true und es wird ein Token zurückgegeben (dies ist die Zeichenfolge, mit der die switch-Anweisung arbeitet).
Offensichtlich Token === Token, damit die switch-Anweisung übereinstimmt und der Fall ausgewertet wird
Es ist einfacher zu verstehen, wenn Sie es in Schichten betrachten und verstehen, dass der Drehtest "VOR" der switch-Anweisung ausgewertet wird, sodass die switch-Anweisung nur die Testergebnisse sieht.
switch(true) { case /foo/.test(bar): ....