var token = 'spo';
switch(token){
case ( (token.match(/spo/) )? token : undefined ) :
console.log('MATCHED')
break;;
default:
console.log('NO MATCH')
break;;
}
-> Si la correspondance est faite, l'expression ternaire renvoie le jeton d'origine
----> Le jeton d'origine est évalué par cas
-> Si la correspondance n'est pas faite, le ternaire renvoie undefined
----> Case évalue le jeton par rapport à undefined, ce qui, espérons-le, n'est pas votre jeton.
Le test ternaire peut être n'importe quoi par exemple dans votre cas
( !!~ base_url_string.indexOf('xxx.dev.yyy.com') )? xxx.dev.yyy.com : undefined
============================================
(token.match(/spo/) )? token : undefined )
est une expression ternaire.
Le test dans ce cas est token.match (/ spo /) qui indique la correspondance entre la chaîne contenue dans le jeton et l'expression regex / spo / (qui est la chaîne littérale spo dans ce cas).
Si l'expression et la chaîne correspondent, cela donne la valeur true et renvoie le jeton (qui est la chaîne sur laquelle l'instruction switch fonctionne).
Evidemment token === token donc l'instruction switch est mise en correspondance et le cas évalué
Il est plus facile à comprendre si vous le regardez en couches et comprenez que le test de tournage est évalué "AVANT" l'instruction switch de sorte que l'instruction switch ne voit que les résultats du test.
switch(true) { case /foo/.test(bar): ....