En mi aplicación web basada en Angular, en algún momento necesitábamos un tipo para contener traducciones de varias cadenas en diferentes idiomas. Un colega luego implementó este tipo para ese propósito:
export class TranslatedString { [language: string]: string; }
Aparentemente, esto se llama Index Signature
, pero en realidad nunca lo usé, así que no entiendo exactamente cómo funciona. Cuando inspecciono una instancia de esto en tiempo de ejecución, se ve así:
{de: "TestDE", en: "TestEN", fr: "TestFR"} de:"TestDE" en:"TestEN" fr:"TestFR" __proto__:{}
Ahora estoy en una situación en la que necesito eliminar una traducción de este tipo, pero no puedo encontrar la manera de hacerlo. No parece haber una función de eliminación o eliminación a la que pueda llamar para eliminar un elemento a través de su clave. ¿Realmente no hay forma de hacer esto, o cómo puedo eliminar una traducción de una instancia de TranslatedString
?
En tiempo de ejecución, el objeto que está obteniendo es un objeto JavaScript normal
translations = {de: "TestDE", en: "TestEN", fr: "TestFR"}
entonces una eliminación debería hacerlo:
delete translations['de'] // or delete translations.de