Encontré el método de normalización en MDN.
Suponga que la respuesta de la API del lado del servidor es así: {name: "李"} . El Unicode del李es \uF9E1 .
Ahora, en el lado del cliente, ¿podemos usarlo en la condición if...else... como esta:
// We type the '李' string, the unicode of this '李' is \u674E if(name.normalize() === '李'.normalize()) { // do something } ¿El método String.prototype.normalize() garantiza el mismo carácter abstracto igual? Para que podamos comparar estos caracteres abstractos en la condición sin preocupaciones.
¿O la mejor práctica es nunca devolver datos con caracteres abstractos en la API y compararlos? En su lugar, debemos devolver los datos del lado del servidor como {name: '李', code: 0 } y usar el campo de code (tipo de datos de número) para comparar.