Tengo que validar la entrada de emoji del usuario y realizar una comparación para ver lo que ingresó. Sin embargo, comencé a notar que varios emojis se ven idénticos, pero no son iguales. Mire el ejemplo a continuación, moonA tiene una longitud de 2, pero moonB es 3:
var moonA = "🌕"; var moonB = "🌕️"; console.log(moonA == moonB); console.log("Moon A:", moonA.length); console.log("Moon B:", moonB.length);¿Qué podría estar causando esta discrepancia? Los he mirado de cerca tanto en Windows como en iOS, y se ven exactamente iguales en ambos sistemas. ¿Por qué hay dos versiones del mismo emoji?
¿Qué carácter Unicode es este? los identifica como:
moonA = "🌕" U+1F315 : FULL MOON SYMBOL moonB = "🌕️" U+1F315 : FULL MOON SYMBOL U+FE0F : VARIATION SELECTOR-16 [VS16] {emoji variation selector}