Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

168
Vistas
¿Por qué '❌'[0] === '❌' pero '✔️'[0] !== '✔️'?
'❌'[0] === '❌' // true '✔️'[0] === '✔️' // false '✔️'[0] === '✔' // true

Sospecho que está relacionado con Unicode, pero me gustaría entender con precisión qué está sucediendo y cómo puedo comparar correctamente dichos caracteres. ¿Por qué '✔️' se trata de manera diferente a '❌'?

Lo encontré en este simple conteo de caracteres.

 '✔️❌✔️❌'.split('').filter(e => e === '❌').length // 2 '✔️❌✔️❌'.split('').filter(e => e === '✔️').length // 0
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Porque ✔️ toma dos caracteres: "✔️".length === 2

"✔️"[0] === "✔" y "✔️"[1] denota color, creo.

Y "❌".length === 1 para que solo tome un carácter.

Es similar a la forma en que funcionan los emojis con diferentes colores de piel.

En cuanto a cómo comparar, creo que "✔️".codePointAt(0) (no confundir con charCodeAt() ) podría ayudar. Consulte https://thekevinscott.com/emojis-in-javascript/ :

codePointAt y fromCodePoint son métodos nuevos introducidos en ES2015 que pueden manejar caracteres Unicode cuya codificación UTF-16 es mayor a 16 bits, lo que incluye emojis. Úselos en lugar de charCodeAt, que no maneja los emoji correctamente.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que el '✔️' se compone de 2 componentes. Cuando genera '✔️'[0], obtiene '✔', y la marca de verificación negra no es igual a la marca de verificación verde.

Sin embargo, el '❌' se compone de un solo componente, por lo que cuando genera '❌'[0], obtiene lo mismo: '❌'.

about 4 years ago · Juan Pablo Isaza Denunciar

0

El segundo carácter '✔️'[1] (punto de código = 65039) es un Variation Selector

Un selector de variación especifica que el carácter anterior debe mostrarse con una presentación emoji. Solo se requiere si el carácter anterior tiene como valor predeterminado la presentación de texto.

A menudo se usa en Secuencias de Emoji ZWJ, donde uno o más caracteres en la secuencia tienen una presentación de texto y emoji, pero por lo demás se muestran de forma predeterminada en texto (blanco y negro).

Ejemplos Muñeco de nieve como texto: ☃. Muñeco de nieve como Emoji: ☃️

Corazón negro como texto: ❤. Corazón Negro como Emoji: ❤️ (no tan negro)

Variation Selector-16 fue aprobado como parte de Unicode 3.2 en 2002.

https://unicode-table.com/en/FE0F/

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda