—
o —
¿Hay alguna diferencia entre estos? ¿Está uno mejor apoyado que el otro?
—
o —
¿Hay alguna diferencia entre estos? ¿Está uno mejor apoyado que el otro?
Respuestas:
Los analizadores SGML (o analizadores XML en el caso de XHTML) pueden manejar —
sin tener que procesar el DTD (lo que no importa a los navegadores, ya que solo sorben sopa de etiquetas), mientras que —
es más fácil para los humanos leer y escribir en el código fuente.
Personalmente, me apegaría a un em-dash literal y me aseguraría de que la configuración de codificación de mis caracteres fuera consistente.
Son exactamente el mismo personaje. Ver: http://en.wikipedia.org/wiki/Dash
Salvo errores del navegador, mostrarán lo mismo en todos los casos, por lo que la única diferencia sería la legibilidad del código, que apuntaría a —
.
O, si está utilizando UTF-8 como un juego de caracteres en su documento HTML, puede ingresar el carácter directamente. Eso también mostraría exactamente lo mismo.
&8212;
siempre funciona mientras que —
depende de haber declarado la entidad.
—
:: —
::\u2014
Al representar el guión m en una cadena de texto JavaScript para la salida a HTML, tenga en cuenta que estará representado por su valor Unicode. Hay casos en los que los caracteres ampersand ('&') no se resolverán, en particular, ciertos contextos dentro de JSX. En este caso, ni —
ni —
funcionará. En su lugar es necesario utilizar la secuencia de escape Unicode: \u2014
.
Por ejemplo, al implementar un render()
método para generar texto desde una variable de JavaScript:
render() {
let text='JSX transcoders will preserve the & character—to '
+ 'protect from possible script hacking and cross-site hacks.'
return (
<div>{text}</div>
)
}
Esto dará como resultado:
<div>JSX transcoders will preserve the & character—to protect from possible script hacking and cross-site hacks.</div>
En lugar de la &
representación con prefijo, debes usar \ u2014:
let text='JSX transcoders will preserve the & character\u2014to …'
Del sitio web de W3 Entidades HTML comunes utilizadas para la tipografía
En aras de la portabilidad, las referencias a entidades Unicode deben reservarse para su uso en documentos que seguramente estarán escritos en juegos de caracteres UTF-8 o UTF-16. En todos los demás casos, deben utilizarse las referencias alfanuméricas.
Traducción: si está buscando un soporte más amplio, vaya con —
Podría ser que usar el código numérico sea más universal, ya que es una referencia directa a un carácter en la tabla de entidad html, pero supongo que ambos funcionan en todas partes. La primera notación es mucho más fácil de recordar para muchos personajes.