Estoy tratando de comprobar si una cadena (primer argumento, str) termina con la cadena de destino dada (segundo argumento, destino). function confirmEnding(str, target) { return /target$/.test(str) } Test string confirmEnding("Bastian","n") muestra falso. que estoy haciendo mal? ¿Puedo usar una expresión regular como argumento de función? ;
Si siempre es una cadena, puede usar String#endsWith
function checkEnd(str, target) { return str.endsWith(target); } console.log(checkEnd("Bastion", "n")); Si desea convertir target en una expresión regular, tenga en cuenta que esto no escapará ninguno de los caracteres especiales en target . es decir checkEnd('special)',')') fallará debido a que la expresión regular no es válida:
function checkEnd(str, target) { return new RegExp(`${target}$`).test(str); } console.log(checkEnd("Bastion", "n"));