Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

167
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!