tl; dr
Utilice los Literales de cadena de plantilla de ECMAScript 2015, si corresponde.
Explicación
No hay una forma directa de hacerlo, según las especificaciones de ECMAScript 5, pero ECMAScript 6 tiene cadenas de plantilla , que también se conocían como cuasi literales durante la redacción de la especificación. Úselos así:
> var n = 42;
undefined
> `foo${n}bar`
'foo42bar'
Puede usar cualquier expresión de JavaScript válida dentro de {}
. Por ejemplo:
> `foo${{name: 'Google'}.name}bar`
'fooGooglebar'
> `foo${1 + 3}bar`
'foo4bar'
La otra cosa importante es que ya no tiene que preocuparse por las cadenas de varias líneas. Puedes escribirlos simplemente como
> `foo
... bar`
'foo\n bar'
Nota: Usé io.js v2.4.0 para evaluar todas las cadenas de plantillas que se muestran arriba. También puede usar el último Chrome para probar los ejemplos que se muestran arriba.
Nota: Las especificaciones ES6 ahora están finalizadas , pero aún no se han implementado en todos los principales navegadores.
De acuerdo con las páginas de Mozilla Developer Network , esto se implementará para soporte básico a partir de las siguientes versiones: Firefox 34, Chrome 41, Internet Explorer 12. Si eres usuario de Opera, Safari o Internet Explorer y tienes curiosidad sobre esto ahora , este banco de pruebas se puede usar para jugar hasta que todos obtengan apoyo para esto.